Explicitly implement TypePtr constructors.
No current version of MSVC supports inheriting constructors by doing "using Base::Base".