Oddity with object definitions (Inform-6)

I’m seeing something odd which I wonder is intentional behavior. An example may explain it best:

Object A "A" ... ;
Object B "B" SomeRoom ... ;
Object -> D "D" ... ;

With this code, I’m seeing object D end up as a child of A rather than B as expected, simply because B has an explicit parent.

Is that one of those “yeah it’s a bug but we can’t fix it now” kind of things?

I believe that’s the intended behavior. An object defined with N arrows is a child of the most recent object defined with N-1 arrows—but giving an explicit parent isn’t the same as 0 arrows (which means parentless), it’s an alternative to the arrow notation altogether.

We definitely can’t change it now, regardless. :)

Thanks for the replies, appreciate it.