@@ -37,7 +37,6 @@ import Data.Function (on)
3737import Data.Functor.Identity
3838import Data.List (groupBy, sortBy)
3939
40−import qualified Data.Data as D
4140import qualified Data.Generics as G
4241import qualified Data.Generics.Extras as G
4342
@@ -57,7 +56,6 @@ rebracket ms = do
5756 let opTable = customOperatorTable $ map (\(i, _, f) -> (i, f)) fixities
5857 mapM (rebracketModule opTable) ms
5958
60−
6159removeSignedLiterals :: Module -> Module
6260removeSignedLiterals (Module mn ds exts) = Module mn (map f' ds) exts
6361 where
@@ -69,10 +67,12 @@ removeSignedLiterals (Module mn ds exts) = Module mn (map f' ds) exts
6967 go other = other
7068
7169rebracketModule :: [[(Qualified Ident, Value -> Value -> Value, Associativity)]] -> Module -> Either ErrorStack Module
72−rebracketModule opTable (Module mn ds exts) = Module mn <$> (removeParens <$> G.everywhereM' (G.mkM (matchOperators opTable)) ds) <*> pure exts
70+rebracketModule opTable (Module mn ds exts) = Module mn <$> (map removeParens <$> G.everywhereM' (G.mkM (matchOperators opTable)) ds) <*> pure exts
7371
74−removeParens :: (D.Data d) => d -> d
75−removeParens = G.everywhere (G.mkT go)
72+removeParens :: Declaration -> Declaration
73+removeParens =
74+ let (f, _, _) = everywhereOnValues id go id
75+ in f
7676 where
7777 go (Parens val) = val
7878 go val = val