add type_checker.h/cc