Xo is experimental. The source code is not public yet; it will be soon. Read the release notes
Menu · XO0170

Docs

XO0170: several effects in a function type must be parenthesized

error · reported by the parser

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.