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