This is also useful when dealing with NSObjectController and friends. Calling [objectController valueForKeyPath:@"selection"] will return a key-value compliant proxy for the selection whereas calling [objectController valueForKeyPath:@"selection.self"] will return the selected object itself.