@@ -104,8 +104,9 @@ p_conDecl = \case
104104 then newline
105105 else breakpoint
106106 interArgBreak
107− p_forallBndrs p_hsTyVarBndr (hsq_explicit con_qvars)
108− unless (null $ hsq_explicit con_qvars) interArgBreak
107+ when (unLoc con_forall) $ do
108+ p_forallBndrs p_hsTyVarBndr (hsq_explicit con_qvars)
109+ interArgBreak
109110 forM_ con_mb_cxt p_lhsContext
110111 case con_args of
111112 PrefixCon xs -> do
@@ -126,12 +127,14 @@ p_conDecl = \case
126127 mapM_ (p_hsDocString Pipe True) con_doc
127128 let conDeclSpn =
128129 [getLoc con_name]
130+ <> [getLoc con_forall]
129131 <> fmap getLoc con_ex_tvs
130132 <> maybeToList (fmap getLoc con_mb_cxt)
131133 <> conArgsSpans con_args
132134 switchLayout conDeclSpn $ do
133− p_forallBndrs p_hsTyVarBndr con_ex_tvs
134− unless (null con_ex_tvs) breakpoint
135+ when (unLoc con_forall) $ do
136+ p_forallBndrs p_hsTyVarBndr con_ex_tvs
137+ breakpoint
135138 forM_ con_mb_cxt p_lhsContext
136139 case con_args of
137140 PrefixCon xs -> do