[snip] A has B, while B has a "parent" attribute which is referenced back to its parent: A Cross-referenced: A has a child X, B also has a child, it's a reference to the very same X The dizzy making thing here? B is also a child of A, which appears to be the causing this problem: php still hates references [/snip] I'd love to see the UML for this.