Remove/disable broken tests.
Make many more static contract optimizer tests and add some more optimizations.
Make optimize for static contracts have saner interface.
Make tests more standardized.
Add more static contract tests.
Remove unsound optimizations.
Make simple static contracts not combinators.
Sorta working new lengths.
Added terminal sc contracts, and made optimizer use them.
Added generic mechanism for easy to write terminal contracts.
Made reasons get passed through and re-add a failing test.
Made error messages better for contract generation failures.
Make contract generation failure tests pass, and simplify reason logic.
Add sc-traverse for folding over static contracts.
Make static contracts catch simple parametric contract errors.
Add custom printer for terminal contracts.
Simplify recursive contracts when optimizing.
Handle complicated parametric types in TR contract generation.

Closes PR 14270.
Make polydotted types generate contracts.
Add names to flat static contracts.