commented type_checker.hh