This was way more difficult than I thought and still doesn't look right. But at least I get to strike write a monad tutorial off of the bucket list.
You start with a bunch of transformations that either turn a thing into a (different) *useful* thing or into a *dead end*.
Rule 1 (Left Identity): Applying a transformation to a useful thing is the same as simply transforming a plain thing.
Rule 2 (Right Identity): A transformation that merely makes a thing useful has no effect when applied. Useful things stay the same, dead ends stay dead.
Rule 3 (Associativity): You can merge any two transformations into one, which behaves the same as if you applied the first transformation to something and then applied the second transformation to the result.