Make struct types overlap with procedures.

Closes PR11971.
Add subtyping for Parameters.

Closes PR11992.
This required moving more stuff in to base-abbrev so that it could be
used in subtype.
Fix subtyping of invariant data structures.

Closes PR13521.
Make (Set a) a subtype of (Sequenceof a).

Closes PR13485.
Closes PR12615.
Make naturals be a sequence type.