Yes.

It used to do that, but by doing that I wasn't be able to tell the difference between a change triggered by a non-nil intermediate path component and one triggered by the last path component: I had to add new observers to the non-nil intermediate path component's value which would trigger initial KVO callbacks which then called the same callbacks that an explicit change to the last path component would have called, so it was either scrap it or track more state to be able to tell the difference between the two.