Map over terms recursively.
Shifting of Terms.
Substitution of Terms.
Destructuring of Terms.
Evaluation.
Value is Equatable.
Term is Equatable.
Unboxed constructor for applications.
Test that evaluation of identity succeeds.
Typechecking doesn’t generate Polymorphic wrappers.