module ShouldFail where -- !!! Precedence of unary negation f1 x y = x + -y -- Fails f2 x y = x * -y -- Fails f3 x y = -x + y -- OK: means (-x) + y -- since - is left associative f4 x y = - x*y -- OK: means -(x*y) -- since - binds less tightly than * f5 x y = x >= -y -- OK means x >= (-y)