Algebraically, we’re imposing a partial order on containment (is-inside-of) and explicitly not imposing that restriction on associations (relates-to). That clean separation lets you model meaningful cycles (feedback loops, learning cycles) in the association graph without risking infinite loops in UI traversals that depend on containment. Invariants live at the boundaries: “no cycles in containment” becomes a constructor precondition for “place X into map Y.

Imposing a Partial Order. dmx