+pprHsContext [] = empty
+pprHsContext [L _ pred]
+ | noParenHsPred pred = ppr pred <+> ptext (sLit "=>")
+pprHsContext cxt = ppr_hs_context cxt <+> ptext (sLit "=>")
+
+noParenHsPred :: HsPred name -> Bool
+-- c.f. TypeRep.noParenPred
+noParenHsPred (HsClassP {}) = True
+noParenHsPred (HsEqualP {}) = True
+noParenHsPred (HsIParam {}) = False