ppCtor :: TermPrinter e -> Ctor Ident e -> Doc
ppCtor f c = hang 2 $ group (ppIdent (ctorName c) <<$>> doublecolon <+> tp)
  where lcls = emptyLocalVarDoc
        tp = f lcls PrecLambda (ctorType c)
ppCtor :: TermPrinter e -> Ctor Ident e -> Doc
ppCtor f c = hang 2 $ group (ppIdent (ctorName c) <<$>> doublecolon <+> tp)
  where lcls = emptyLocalVarDoc
        tp = f lcls PrecLambda (ctorType c)
ppCtor f c = hang 2 $ group (ppIdent (ctorName c) <<$>> doublecolon <+> tp)
  where lcls = emptyLocalVarDoc
        tp = f lcls PrecLambda (ctorType c)