making the bare type system's command-line options a bit better
minor whitespace fixup
Distinguishing type aliases ("type foo = ..." in the environment) from
type bounds ("forall a <: bound").  By conflating them, we were broken
no matter what we did: if we eagerly exposed type ids up to their
bounds, then we created unsound subtyping situations, but if we did
not expose them, then subtyping relations that should obviously work
would instead fail.  The right approach is to lazily expose type ids
to their bounds only when needed, and only on the left-hand side of a
subtyping check; it's fine to expose type aliases whenever is
convenient.  As a result, we needed two distinct binding forms for
these two pieces of information.  (Amusingly, the AdSafe type system
makes the same mistake, but the unspecialized branch of the type
system explicitly has an "aliases" map in the environment for
distinguishing precisely these two cases.)