Recognize typecheck constructions after the fact so that they can be translated to other forms.
Recognize typecheck constructions after the fact so that they can be translated to other forms. This has to kept strictly in sync with the constructors above.