A common deviation in styles is the following:
foo :: (Show a) => a -> IO ()
bar :: Show a => a -> IO ()
There are also contrived examples, where extra parens cannot possibly help readability:
baz :: ((Show a)) => a -> IO ()
Some might argue that constraints should always have parens around them, even singleton constraints, because it's more regular and less work when additional constraints have to be added to the set. Others prefer to always write the minimal number of lexemes. Point is, this is a common matter of style, that could be normalized away.
A common deviation in styles is the following:
There are also contrived examples, where extra parens cannot possibly help readability:
Some might argue that constraints should always have parens around them, even singleton constraints, because it's more regular and less work when additional constraints have to be added to the set. Others prefer to always write the minimal number of lexemes. Point is, this is a common matter of style, that could be normalized away.