diff --git a/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs b/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs
index c3f18ad..e6dfb68 100644
--- a/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs
+++ b/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs
@@ -193,143 +193,143 @@ remSuperfluousParens outerFixity = \case
 
 hardcodedFixity :: Bool -> String -> Maybe Fixity
 hardcodedFixity allowUnqualify = \case
-  "."         -> Just $ Fixity NoSourceText 9 InfixR
-  "!!"        -> Just $ Fixity NoSourceText 9 InfixL
-  "**"        -> Just $ Fixity NoSourceText 8 InfixR
-  "^"         -> Just $ Fixity NoSourceText 8 InfixR
-  "^^"        -> Just $ Fixity NoSourceText 8 InfixR
-  "*"         -> Just $ Fixity NoSourceText 7 InfixL
-  "/"         -> Just $ Fixity NoSourceText 7 InfixL
-  "`quot`"    -> Just $ Fixity NoSourceText 7 InfixL
-  "`rem`"     -> Just $ Fixity NoSourceText 7 InfixL
-  "`div`"     -> Just $ Fixity NoSourceText 7 InfixL
-  "`mod`"     -> Just $ Fixity NoSourceText 7 InfixL
-  "+"         -> Just $ Fixity NoSourceText 6 InfixL
-  "-"         -> Just $ Fixity NoSourceText 6 InfixL
-  ":"         -> Just $ Fixity NoSourceText 5 InfixR
-  "=="        -> Just $ Fixity NoSourceText 4 InfixN
-  "/="        -> Just $ Fixity NoSourceText 4 InfixN
-  "<"         -> Just $ Fixity NoSourceText 4 InfixN
-  "<="        -> Just $ Fixity NoSourceText 4 InfixN
-  ">"         -> Just $ Fixity NoSourceText 4 InfixN
-  ">="        -> Just $ Fixity NoSourceText 4 InfixN
-  "&&"        -> Just $ Fixity NoSourceText 3 InfixR
-  "||"        -> Just $ Fixity NoSourceText 2 InfixR
-  ">>="       -> Just $ Fixity NoSourceText 1 InfixL
-  ">>"        -> Just $ Fixity NoSourceText 1 InfixL
-  "=<<"       -> Just $ Fixity NoSourceText 1 InfixR
-  "$"         -> Just $ Fixity NoSourceText 0 InfixR
-  "`seq`"     -> Just $ Fixity NoSourceText 0 InfixR
-  "$!"        -> Just $ Fixity NoSourceText 0 InfixR
-  "!"         -> Just $ Fixity NoSourceText 9 InfixL
-  "//"        -> Just $ Fixity NoSourceText 9 InfixL
-  "<>"        -> Just $ Fixity NoSourceText 6 InfixR
-  "<+>"       -> Just $ Fixity NoSourceText 5 InfixR
-  "<$"        -> Just $ Fixity NoSourceText 4 InfixL
-  "$>"        -> Just $ Fixity NoSourceText 4 InfixL
-  "<$>"       -> Just $ Fixity NoSourceText 4 InfixL
-  "<&>"       -> Just $ Fixity NoSourceText 1 InfixL
-  "&"         -> Just $ Fixity NoSourceText 1 InfixL
-  "<*>"       -> Just $ Fixity NoSourceText 4 InfixL
-  "<**>"      -> Just $ Fixity NoSourceText 4 InfixL
-  "*>"        -> Just $ Fixity NoSourceText 4 InfixL
-  "<*"        -> Just $ Fixity NoSourceText 4 InfixL
-  "`elem`"    -> Just $ Fixity NoSourceText 4 InfixN
-  "`notElem`" -> Just $ Fixity NoSourceText 4 InfixN
-  "++"        -> Just $ Fixity NoSourceText 5 InfixR
-  "%"         -> Just $ Fixity NoSourceText 7 InfixL
-  "<|>"       -> Just $ Fixity NoSourceText 3 InfixL
-  ".&."       -> Just $ Fixity NoSourceText 7 InfixL
-  ".|."       -> Just $ Fixity NoSourceText 5 InfixL
-  "`xor`"     -> Just $ Fixity NoSourceText 6 InfixL
-  "`shift`"   -> Just $ Fixity NoSourceText 8 InfixL
-  "`rotate`"  -> Just $ Fixity NoSourceText 8 InfixL
-  "`shiftL`"  -> Just $ Fixity NoSourceText 8 InfixL
-  "`shiftR`"  -> Just $ Fixity NoSourceText 8 InfixL
-  "`rotateL`" -> Just $ Fixity NoSourceText 8 InfixL
-  "`rotateR`" -> Just $ Fixity NoSourceText 8 InfixL
-  "+#"        -> Just $ Fixity NoSourceText 6 InfixL
-  ".^."       -> Just $ Fixity NoSourceText 6 InfixL
-  ".>>."      -> Just $ Fixity NoSourceText 8 InfixL
-  ".<<."      -> Just $ Fixity NoSourceText 8 InfixL
-  "!>>."      -> Just $ Fixity NoSourceText 8 InfixL
-  "!<<."      -> Just $ Fixity NoSourceText 8 InfixL
-  ">=>"       -> Just $ Fixity NoSourceText 1 InfixR
-  "<=<"       -> Just $ Fixity NoSourceText 1 InfixR
-  "&&&"       -> Just $ Fixity NoSourceText 3 InfixR
-  "<$!>"      -> fixity InfixL 4
+  "."           -> Just $ Fixity NoSourceText 9 InfixR
+  "!!"          -> Just $ Fixity NoSourceText 9 InfixL
+  "**"          -> Just $ Fixity NoSourceText 8 InfixR
+  "^"           -> Just $ Fixity NoSourceText 8 InfixR
+  "^^"          -> Just $ Fixity NoSourceText 8 InfixR
+  "*"           -> Just $ Fixity NoSourceText 7 InfixL
+  "/"           -> Just $ Fixity NoSourceText 7 InfixL
+  "`quot`"      -> Just $ Fixity NoSourceText 7 InfixL
+  "`rem`"       -> Just $ Fixity NoSourceText 7 InfixL
+  "`div`"       -> Just $ Fixity NoSourceText 7 InfixL
+  "`mod`"       -> Just $ Fixity NoSourceText 7 InfixL
+  "+"           -> Just $ Fixity NoSourceText 6 InfixL
+  "-"           -> Just $ Fixity NoSourceText 6 InfixL
+  ":"           -> Just $ Fixity NoSourceText 5 InfixR
+  "=="          -> Just $ Fixity NoSourceText 4 InfixN
+  "/="          -> Just $ Fixity NoSourceText 4 InfixN
+  "<"           -> Just $ Fixity NoSourceText 4 InfixN
+  "<="          -> Just $ Fixity NoSourceText 4 InfixN
+  ">"           -> Just $ Fixity NoSourceText 4 InfixN
+  ">="          -> Just $ Fixity NoSourceText 4 InfixN
+  "&&"          -> Just $ Fixity NoSourceText 3 InfixR
+  "||"          -> Just $ Fixity NoSourceText 2 InfixR
+  ">>="         -> Just $ Fixity NoSourceText 1 InfixL
+  ">>"          -> Just $ Fixity NoSourceText 1 InfixL
+  "=<<"         -> Just $ Fixity NoSourceText 1 InfixR
+  "$"           -> Just $ Fixity NoSourceText 0 InfixR
+  "`seq`"       -> Just $ Fixity NoSourceText 0 InfixR
+  "$!"          -> Just $ Fixity NoSourceText 0 InfixR
+  "!"           -> Just $ Fixity NoSourceText 9 InfixL
+  "//"          -> Just $ Fixity NoSourceText 9 InfixL
+  "<>"          -> Just $ Fixity NoSourceText 6 InfixR
+  "<+>"         -> Just $ Fixity NoSourceText 5 InfixR
+  "<$"          -> Just $ Fixity NoSourceText 4 InfixL
+  "$>"          -> Just $ Fixity NoSourceText 4 InfixL
+  "<$>"         -> Just $ Fixity NoSourceText 4 InfixL
+  "<&>"         -> Just $ Fixity NoSourceText 1 InfixL
+  "&"           -> Just $ Fixity NoSourceText 1 InfixL
+  "<*>"         -> Just $ Fixity NoSourceText 4 InfixL
+  "<**>"        -> Just $ Fixity NoSourceText 4 InfixL
+  "*>"          -> Just $ Fixity NoSourceText 4 InfixL
+  "<*"          -> Just $ Fixity NoSourceText 4 InfixL
+  "`elem`"      -> Just $ Fixity NoSourceText 4 InfixN
+  "`notElem`"   -> Just $ Fixity NoSourceText 4 InfixN
+  "++"          -> Just $ Fixity NoSourceText 5 InfixR
+  "%"           -> Just $ Fixity NoSourceText 7 InfixL
+  "<|>"         -> Just $ Fixity NoSourceText 3 InfixL
+  ".&."         -> Just $ Fixity NoSourceText 7 InfixL
+  ".|."         -> Just $ Fixity NoSourceText 5 InfixL
+  "`xor`"       -> Just $ Fixity NoSourceText 6 InfixL
+  "`shift`"     -> Just $ Fixity NoSourceText 8 InfixL
+  "`rotate`"    -> Just $ Fixity NoSourceText 8 InfixL
+  "`shiftL`"    -> Just $ Fixity NoSourceText 8 InfixL
+  "`shiftR`"    -> Just $ Fixity NoSourceText 8 InfixL
+  "`rotateL`"   -> Just $ Fixity NoSourceText 8 InfixL
+  "`rotateR`"   -> Just $ Fixity NoSourceText 8 InfixL
+  "+#"          -> Just $ Fixity NoSourceText 6 InfixL
+  ".^."         -> Just $ Fixity NoSourceText 6 InfixL
+  ".>>."        -> Just $ Fixity NoSourceText 8 InfixL
+  ".<<."        -> Just $ Fixity NoSourceText 8 InfixL
+  "!>>."        -> Just $ Fixity NoSourceText 8 InfixL
+  "!<<."        -> Just $ Fixity NoSourceText 8 InfixL
+  ">=>"         -> Just $ Fixity NoSourceText 1 InfixR
+  "<=<"         -> Just $ Fixity NoSourceText 1 InfixR
+  "&&&"         -> Just $ Fixity NoSourceText 3 InfixR
+  "<$!>"        -> fixity InfixL 4
 
-  "~"         -> fixity InfixN 4
-  "~~"        -> fixity InfixN 4
-  ":~:"       -> Just $ Fixity NoSourceText 4 InfixN
-  ":~~:"      -> Just $ Fixity NoSourceText 4 InfixN
-  ":+:"       -> fixity InfixR 5
-  ":*:"       -> fixity InfixR 6
-  ":.:"       -> fixity InfixR 7
-  ":|"        -> fixity InfixR 5
+  "~"           -> fixity InfixN 4
+  "~~"          -> fixity InfixN 4
+  ":~:"         -> Just $ Fixity NoSourceText 4 InfixN
+  ":~~:"        -> Just $ Fixity NoSourceText 4 InfixN
+  ":+:"         -> fixity InfixR 5
+  ":*:"         -> fixity InfixR 6
+  ":.:"         -> fixity InfixR 7
+  ":|"          -> fixity InfixR 5
 
   -- non-base from random sources.
-  "<|"        -> Just $ Fixity NoSourceText 5 InfixR
-  "|>"        -> Just $ Fixity NoSourceText 5 InfixL
-  "><"        -> Just $ Fixity NoSourceText 5 InfixR
-  "$+$"       -> Just $ Fixity NoSourceText 5 InfixL
-  "\\\\"      -> Just $ Fixity NoSourceText 5 InfixN
-  ".>"        -> Just $ Fixity NoSourceText 9 InfixL
-  ":?"        -> Just $ Fixity NoSourceText 7 InfixN
-  ":-"        -> Just $ Fixity NoSourceText 9 InfixR
-  ".:"        -> Just $ Fixity NoSourceText 9 InfixR
-  "$!!"       -> fixity InfixR 0
-  "<$!!>"     -> fixity InfixL 4
+  "<|"          -> Just $ Fixity NoSourceText 5 InfixR
+  "|>"          -> Just $ Fixity NoSourceText 5 InfixL
+  "><"          -> Just $ Fixity NoSourceText 5 InfixR
+  "$+$"         -> Just $ Fixity NoSourceText 5 InfixL
+  "\\\\"        -> Just $ Fixity NoSourceText 5 InfixN
+  ".>"          -> Just $ Fixity NoSourceText 9 InfixL
+  ":?"          -> Just $ Fixity NoSourceText 7 InfixN
+  ":-"          -> Just $ Fixity NoSourceText 9 InfixR
+  ".:"          -> Just $ Fixity NoSourceText 9 InfixR
+  "$!!"         -> fixity InfixR 0
+  "<$!!>"       -> fixity InfixL 4
 
   -- lens, not complete!
-  "<|"        -> fixity InfixR 5
-  "|>"        -> fixity InfixL 5
-  "%~"        -> fixity InfixR 4
-  ".~"        -> fixity InfixR 4
-  "?~"        -> fixity InfixR 4
-  "<.~"       -> fixity InfixR 4
-  "<?~"       -> fixity InfixR 4
-  "+~"        -> fixity InfixR 4
-  "*~"        -> fixity InfixR 4
-  "-~"        -> fixity InfixR 4
-  "//~"       -> fixity InfixR 4
-  "^~"        -> fixity InfixR 4
-  "^^~"       -> fixity InfixR 4
-  "**~"       -> fixity InfixR 4
-  "||~"       -> fixity InfixR 4
-  "&&~"       -> fixity InfixR 4
-  ".="        -> fixity InfixN 4
-  "%="        -> fixity InfixN 4
-  "?="        -> fixity InfixN 4
-  "+="        -> fixity InfixN 4
-  "-="        -> fixity InfixN 4
-  "*="        -> fixity InfixN 4
-  "//="       -> fixity InfixN 4
-  "^="        -> fixity InfixN 4
-  "^^="       -> fixity InfixN 4
-  "**="       -> fixity InfixN 4
-  "&&="       -> fixity InfixN 4
-  "||="       -> fixity InfixN 4
-  "<~"        -> fixity InfixR 2
-  "<.="       -> fixity InfixN 4
-  "<?="       -> fixity InfixN 4
-  "<>~"       -> fixity InfixR 4
-  "<>="       -> fixity InfixN 4
-  "^.."       -> fixity InfixL 8
-  "^?"        -> fixity InfixL 8
-  "^?!"       -> fixity InfixL 8
-  "^@.."      -> fixity InfixL 8
-  "^@?"       -> fixity InfixL 8
-  "^@?!"      -> fixity InfixL 8
-  "^."        -> fixity InfixL 8
-  "^@."       -> fixity InfixL 8
-  "<."        -> fixity InfixR 9
-  ".>"        -> fixity InfixR 9
-  "<.>"       -> fixity InfixR 9
-  "@@~"       -> fixity InfixR 4
-  "@@="       -> fixity InfixR 4
-  "&~"        -> fixity InfixL 1
-  "??"        -> fixity InfixL 1
+  "<|"          -> fixity InfixR 5
+  "|>"          -> fixity InfixL 5
+  "%~"          -> fixity InfixR 4
+  ".~"          -> fixity InfixR 4
+  "?~"          -> fixity InfixR 4
+  "<.~"         -> fixity InfixR 4
+  "<?~"         -> fixity InfixR 4
+  "+~"          -> fixity InfixR 4
+  "*~"          -> fixity InfixR 4
+  "-~"          -> fixity InfixR 4
+  "//~"         -> fixity InfixR 4
+  "^~"          -> fixity InfixR 4
+  "^^~"         -> fixity InfixR 4
+  "**~"         -> fixity InfixR 4
+  "||~"         -> fixity InfixR 4
+  "&&~"         -> fixity InfixR 4
+  ".="          -> fixity InfixN 4
+  "%="          -> fixity InfixN 4
+  "?="          -> fixity InfixN 4
+  "+="          -> fixity InfixN 4
+  "-="          -> fixity InfixN 4
+  "*="          -> fixity InfixN 4
+  "//="         -> fixity InfixN 4
+  "^="          -> fixity InfixN 4
+  "^^="         -> fixity InfixN 4
+  "**="         -> fixity InfixN 4
+  "&&="         -> fixity InfixN 4
+  "||="         -> fixity InfixN 4
+  "<~"          -> fixity InfixR 2
+  "<.="         -> fixity InfixN 4
+  "<?="         -> fixity InfixN 4
+  "<>~"         -> fixity InfixR 4
+  "<>="         -> fixity InfixN 4
+  "^.."         -> fixity InfixL 8
+  "^?"          -> fixity InfixL 8
+  "^?!"         -> fixity InfixL 8
+  "^@.."        -> fixity InfixL 8
+  "^@?"         -> fixity InfixL 8
+  "^@?!"        -> fixity InfixL 8
+  "^."          -> fixity InfixL 8
+  "^@."         -> fixity InfixL 8
+  "<."          -> fixity InfixR 9
+  ".>"          -> fixity InfixR 9
+  "<.>"         -> fixity InfixR 9
+  "@@~"         -> fixity InfixR 4
+  "@@="         -> fixity InfixR 4
+  "&~"          -> fixity InfixL 1
+  "??"          -> fixity InfixL 1
 
 
   -- certain other operators
@@ -343,50 +343,62 @@ hardcodedFixity allowUnqualify = \case
   -- ".*?"       -> fixity _ _
   -- ".+."       -> fixity _ _
   -- ".-."       -> fixity _ _
-  ".&."       -> fixity InfixR 1
-  ".&&."      -> fixity InfixR 1
-  ".||."      -> fixity InfixR 1
-  "==>"       -> fixity InfixR 0
-  "=/="       -> fixity InfixN 4
-  "==="       -> fixity InfixN 4
-  ".:!"       -> fixity InfixL 9
-  ".:?"       -> fixity InfixL 9
+  ".&."         -> fixity InfixR 1
+  ".&&."        -> fixity InfixR 1
+  ".||."        -> fixity InfixR 1
+  "==>"         -> fixity InfixR 0
+  "=/="         -> fixity InfixN 4
+  "==="         -> fixity InfixN 4
+  ".:!"         -> fixity InfixL 9
+  ".:?"         -> fixity InfixL 9
   -- ".:>"       -> fixity _ _
   -- ".:>?"      -> fixity _ _
-  "<.>"       -> fixity InfixR 7
-  "</>"       -> fixity InfixR 5
-  "<?>"       -> fixity InfixL 9
+  "<.>"         -> fixity InfixR 7
+  "</>"         -> fixity InfixR 5
+  "<?>"         -> fixity InfixL 9
   -- "~"         -> fixity _ _
-  "==="       -> fixity InfixN 4
-  "!?"        -> fixity InfixL 9
-  "%=="       -> fixity InfixN 3
-  ".*"        -> fixity InfixR 8
-  ".**"       -> fixity InfixR 8
-  ".***"      -> fixity InfixR 8
-  ":?-"       -> fixity InfixN 1
-  "::-"       -> fixity InfixN 0
-  "&!"        -> fixity InfixL 1
-  
+  "==="         -> fixity InfixN 4
+  "!?"          -> fixity InfixL 9
+  "%=="         -> fixity InfixN 3
+  ".*"          -> fixity InfixR 8
+  ".**"         -> fixity InfixR 8
+  ".***"        -> fixity InfixR 8
+  ":?-"         -> fixity InfixN 1
+  "::-"         -> fixity InfixN 0
+  "&!"          -> fixity InfixL 1
+
   -- quickcheck (-state-machine)
-  ":&&"       -> fixity InfixL 9
-  ":||"       -> fixity InfixL 9
-  ":&&:"      -> fixity InfixL 9
-  ":=>"       -> fixity InfixL 9
-  ":=="       -> fixity InfixL 9
-  ":/="       -> fixity InfixL 9
-  ":<"        -> fixity InfixL 9
-  ":<="       -> fixity InfixL 9
-  ":>"        -> fixity InfixL 9
-  ":>="       -> fixity InfixL 9
-  ":->"       -> fixity InfixL 9
+  ":&&"         -> fixity InfixL 9
+  ":||"         -> fixity InfixL 9
+  ":&&:"        -> fixity InfixL 9
+  ":=>"         -> fixity InfixL 9
+  ":=="         -> fixity InfixL 9
+  ":/="         -> fixity InfixL 9
+  ":<"          -> fixity InfixL 9
+  ":<="         -> fixity InfixL 9
+  ":>"          -> fixity InfixL 9
+  ":>="         -> fixity InfixL 9
+  ":->"         -> fixity InfixL 9
+  ".=="         -> fixity InfixN 5
+  "./"          -> fixity InfixN 5
+  ".<"          -> fixity InfixN 5
+  ".<="         -> fixity InfixN 5
+  ".>"          -> fixity InfixN 5
+  ".>="         -> fixity InfixN 5
+  "`member`"    -> fixity InfixN 8
+  "`notMember`" -> fixity InfixN 8
+  ".//"         -> fixity InfixL 4
+  ".&&"         -> fixity InfixR 3
+  ".||"         -> fixity InfixR 2
+  ".=>"         -> fixity InfixR 1
 
   -- servant
-  ":>"        -> fixity InfixR 4
-  ":<|>"      -> fixity InfixR 3
-  ":-"        -> fixity InfixL 0
+  ":>"          -> fixity InfixR 4
+  ":<|>"        -> fixity InfixR 3
+  ":-"          -> fixity InfixL 0
 
   -- postgresql-simple
-  ":."        -> fixity InfixR 3 -- this has wildly different fixities in different libraries
+  ":."          -> fixity InfixR 3 -- this has wildly different fixities in different libraries
 
   -- ?
   -- ":-:"       -> fixity _ _
@@ -399,7 +411,7 @@ hardcodedFixity allowUnqualify = \case
   -- ":>:"       -> fixity _ _
   -- ":>=:"      -> fixity _ _
 
-  str         -> case (Safe.headMay str, Safe.lastMay str) of
+  str           -> case (Safe.headMay str, Safe.lastMay str) of
     (Just '\'', _) -> hardcodedFixity False (drop 1 str)
     (Just '`', Just '`') -> Just $ Fixity NoSourceText 9 InfixL
     (Just c, _) | Data.Char.isAlpha c && allowUnqualify -> hardcodedFixity False