-That is, the "(a ~ [b]) =>" part is encode as a for-all
-type with a coercion variable that is never mentioned.
-
-We could instead have used a FunTy with an EqPred on the
-left. But we want
-
- * FunTy to mean RUN-TIME abstraction,
- passing a real value at runtime,
-
- * ForAllTy to mean COMPILE-TIME abstraction,
- erased at runtime
-