Experiments with GADTs and generic programming.
Not for general consumption.
New bug, tests/resugar.mz.
There is an assertion file in Resugar.
But prior to that, there is also a strange behavior of the type-checker:
"take n from g" seems to be accepted, even though g is not declared to be
an adopter. Maybe this is a side effect of "adopts bottom". We might wish
to add a special case for this in the treatment of "take".