@@ -189,8 +189,11 @@ desugarOperatorSections (Module ss coms mn ds exts) =
189189 (goDecl, _, _) = everywhereOnValuesM return goExpr return
190190
191191 goExpr :: Expr -> m Expr
192− goExpr (OperatorSection op (Left val)) = return $ App op val
193− goExpr (OperatorSection op (Right val)) = do
192+ goExpr (OperatorSection op eVal) = do
194193 arg <- freshIdent'
195− return $ Abs (Left arg) $ App (App op (Var (Qualified Nothing arg))) val
194+ let var = Var (Qualified Nothing arg)
195+ f2 a b = Abs (Left arg) $ App (App op a) b
196+ return $ case eVal of
197+ Left val -> f2 val var
198+ Right val -> f2 var val
196199 goExpr other = return other