new TypeName() generation

Currently doesn't work with basic types