pprConDecl (ConDecl { con_names = cons, con_explicit = expl, con_qvars = tvs
                    , con_cxt = cxt, con_details = RecCon fields
                    , con_res = ResTyGADT _ res_ty, con_doc = doc })
  = sep [ppr_mbDoc doc <+> ppr_con_names cons <+> dcolon
         <+> pprHsForAll expl tvs cxt,
         pprConDeclFields (unLoc fields) <+> arrow <+> ppr res_ty]
pprConDecl (ConDecl { con_names = cons, con_explicit = expl, con_qvars = tvs
                    , con_cxt = cxt, con_details = RecCon fields
                    , con_res = ResTyGADT _ res_ty, con_doc = doc })
  = sep [ppr_mbDoc doc <+> ppr_con_names cons <+> dcolon
         <+> pprHsForAll expl tvs cxt,
         pprConDeclFields (unLoc fields) <+> arrow <+> ppr res_ty]
pprConDecl (ConDecl { con_names = cons, con_explicit = expl, con_qvars = tvs
                    , con_cxt = cxt, con_details = RecCon fields
                    , con_res = ResTyGADT _ res_ty, con_doc = doc })
  = sep [ppr_mbDoc doc <+> ppr_con_names cons <+> dcolon
         <+> pprHsForAll expl tvs cxt,
         pprConDeclFields (unLoc fields) <+> arrow <+> ppr res_ty]