newTypeClosure
  :: Text
  -> Text
  -> CodeGen ((), CgState)
newTypeClosure thisClass superClass =
  newClosure [Public, Abstract, Super] thisClass superClass $
    defineMethod $ mkDefaultConstructor thisClass superClass
newTypeClosure
  :: Text
  -> Text
  -> CodeGen ((), CgState)
newTypeClosure thisClass superClass =
  newClosure [Public, Abstract, Super] thisClass superClass $
    defineMethod $ mkDefaultConstructor thisClass superClass
newTypeClosure thisClass superClass =
  newClosure [Public, Abstract, Super] thisClass superClass $
    defineMethod $ mkDefaultConstructor thisClass superClass