Added `type_of' and `type_of_type'. For now it is not implemented as singleton, but will in the future when the compiler does the same with manifest type.