Any expression can appear in parentheses, and an expression (e)
is the same as the expression e
. Parentheses can be used to delimit where an expression begins and ends. For example (f : P -> Q) y
is an application of the function f
of type P -> Q
to the argument y
. The parentheses are needed to tell Unison that y
is an argument to f
, not a part of the type annotation expression.