Pure subtyping <:. Walks the extending chain for CompositeType
(via TypeLattice.ancestors), unfolds TypeAlias to its target, and
unwraps ConstrainedType to its base (both via TypeLattice.unfold),
then falls back to structural equality via highEq.
Used together with isConsistent to form isConsistentSubtype, which
is what the bidirectional checker invokes at every check-mode boundary
(rule [⇐] Sub).