Laurel's modifies frame is object-granular: you can name a whole Composite, but not "only o.balance changes, o.count preserved."
Current behavior
classifyModifiesType drops field targets as non-composite.
- The frame (
buildModifiesEnsures) excludes whole objects: $obj ≠ o.
- Native grammar doesn't parse
modifies o.f.
Laurel's
modifiesframe is object-granular: you can name a wholeComposite, but not "onlyo.balancechanges,o.countpreserved."Current behavior
classifyModifiesTypedrops field targets as non-composite.buildModifiesEnsures) excludes whole objects:$obj ≠ o.modifies o.f.