@A { @ChildProp("PropA", Bool) } @B { @ChildProp("PropB", Bool) } @CollectiveA { A { }.PropA(false) } @C -> (A, B, D) { @ChildProp("PropC", Bool) } @root { C { C { } .PropB(true) } .PropB(true) .PropC(false) .PropA(true) }