Mind showing me, formally, why you need "reverse inheritance"?That seems backwards from the way OO inheritance is supposed to work. You don't go from a more feature-rich case to a less feature-rich case -- it's the other way around.Of course it is -- that is precisely why inheritance is the wrong formalism for my problem! What I need is a "reverse inheritance" formalism, where a fully defined data structure sits at the root, and whose descendants are PRUNED versions of the parent.