record other-record { a1: u32, a2: u64, a3: s32, a4: s64, b: string, c: list, } record some-record { x: string, y: other-record, c1: u32, c2: u64, c3: s32, c4: s64, } variant other-variant { a, b(u32), c(string), } variant some-variant { a(string), b, c(u32), d(list), } type load-store-all-sizes = list> list-u8-param: func(x: list) list-u16-param: func(x: list) list-u32-param: func(x: list) list-u64-param: func(x: list) list-s8-param: func(x: list) list-s16-param: func(x: list) list-s32-param: func(x: list) list-s64-param: func(x: list) list-float32-param: func(x: list) list-float64-param: func(x: list) list-u8-ret: func() -> list list-u16-ret: func() -> list list-u32-ret: func() -> list list-u64-ret: func() -> list list-s8-ret: func() -> list list-s16-ret: func() -> list list-s32-ret: func() -> list list-s64-ret: func() -> list list-float32-ret: func() -> list list-float64-ret: func() -> list tuple-list: func(x: list>) -> list> string-list-arg: func(a: list) string-list-ret: func() -> list tuple-string-list: func(x: list>) -> list> string-list: func(x: list) -> list record-list: func(x: list) -> list variant-list: func(x: list) -> list load-store-everything: func(a: load-store-all-sizes) -> load-store-all-sizes