Simplify the implementation of weakening.
Simplify the implementation of weakening.

This version also defines a new generic traversal, this time
'everywhereMM', but it seems simpler than the last version, using
'everyWhereUntilM'.  However, I still can't figure out how to define a
transformation of all 'Bound a' ...

spire/spire