package foo:foo; interface foo { record r { s: string } record r-no-string { s: u32 } variant v { s(string) } variant v-no-string { s(u32) } a: func(); b: func(x: list); c: func(x: r); d: func(x: v); e: func(x: r-no-string); f: func(x: v-no-string); g: func(x: list); h: func(x: list); i: func(x: list); j: func(x: u32); k: func() -> tuple; l: func() -> string; m: func() -> list; n: func() -> u32; o: func() -> v; p: func() -> list; } world module { import foo; }