XO0170: several effects in a function type must be parenthesized
In a function type, uses a, b would be ambiguous with the comma that separates parameters or fields, so several effects are written uses (a, b). In a declaration clause (fn f() uses net, clock) the parentheses are optional. The diagnostic carries a fix that adds them. See core 6.2 and 15.
Example
fn f(g: fn() uses net, clock, n: Int) uses (net, clock) {
g()
}Fix
fn f(g: fn() uses (net, clock), n: Int) uses (net, clock) {
g()
}Run xo explain XO0170 for this text in a terminal, or see
section 10.6 of the specification.