Type bounds (forall 'a <: 'bound) must shadow type aliases (type t =
...), or else unfolding aliases while under a bound will result in
unsound behavior
unnecessary opens, and removing the shadowing of the Kind_error exception
adding explicit checks for Top and Bot, and catching reasonable
exceptions in subtype_mult of MSums (because the exceptions shouldn't
propagate out)
fixing up tests