@@ -45,7 +45,9 @@ renderDeclaration Declaration{..} =
4545 [ keywordClass ]
4646 ++ maybe [] (:[]) superclasses
4747 ++ [renderType (typeApp declTitle args)]
48− ++ if (not (null declChildren)) then [keywordWhere] else []
48+ ++ if any (isTypeClassMember . cdeclInfo) declChildren
49+ then [keywordWhere]
50+ else []
4951
5052 where
5153 superclasses
@@ -55,6 +57,9 @@ renderDeclaration Declaration{..} =
5557 <> mintersperse (syntax "," <> sp) (map renderConstraint implies)
5658 <> syntax ")" <> sp <> syntax "<="
5759
60+ isTypeClassMember (ChildTypeClassMember _) = True
61+ isTypeClassMember _ = False
62+
5863renderChildDeclaration :: ChildDeclaration -> RenderedCode
5964renderChildDeclaration ChildDeclaration{..} =
6065 mintersperse sp $ case cdeclInfo of