I think I might have stumbled across a general, albeit somewhat degenerate, monoid action. Pseudo-Haskell:
instance (Monoid m, Monoid n) => Act m n where
act mempty x = x -- let's pretend that we can use `mempty` as a pattern
act _ _ = mempty
m
's action on n
is to set n
to mempty
unless m
itself is empty.
Is this a law-abiding monoid action? Has it been invented before by someone other than me? If so, what is its name?