Design for the typechecker.
Unify all *-check.cpp files into check.cpp