sub f ($x :foo, $y :bar(baz) bar2(baz2), ...) { ... }