As with other languages, parentheses are extremely useful in disambiguating expressions
where you have some doubt about precedence (or just want to document the intention
explicitly). Notice, by the way, that parentheses are not used around function arguments
in Haskell; but there is no harm in pretending they are, which just creates an extra
expression grouping (as in res2 above).