# 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

```xo
fn f(g: fn() uses net, clock, n: Int) uses (net, clock) {
  g()
}
```

## Fix

```xo
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](../../spec/core/#106-diagnostic-codes).

