build type-info in semantic, not during code-gen