type.cpp becomes exprs_types.cpp and expression.hpp becomes basic_types.hpp