This causes too much confusion with the idea of a rewrite rule (being a pattern to look for anywhere plus some replacement). The Hugr 'Rewrite' (trait, implemented by SimpleReplacement, etc.) is a lower-level thing. Maybe Modification or HugrMutation?? (oh, HugrMut. Hmmmm.)
Captures that it's quite closely fixed to the structure of the Hugr but not totally fixed to exactly one Hugr.
Ok, downsides
doesn't suggest an interface with multiple implementations, but those are just different ways of storing/representing a patch (using different code and data)
Our "Rewrites" are maybe not quite as general as UNIX text-file patches (which can encapsulate any change to a single file)
This causes too much confusion with the idea of a rewrite rule (being a pattern to look for anywhere plus some replacement). The Hugr 'Rewrite' (trait, implemented by SimpleReplacement, etc.) is a lower-level thing. Maybe
Modification
orHugrMutation
?? (oh, HugrMut. Hmmmm.)