Types self-register in ctor, obviating need for init pass 0. Fix name: ProjectionOpaqueType