package my:resources; interface aggregates { resource z; record r1 { z: z } record r2 { z: borrow } record r3 { z1: borrow, z2: z, } type t1 = tuple; type t2 = tuple>; variant v1 { z(z), } variant v2 { z(borrow), } type l1 = list; type l2 = list>; f: func( r1: r1, r2: r2, r3: r3, t1: t1, t2: t2, v1: v1, v2: v2, l1: l1, l2: l2, o1: option, o2: option>, result1: result, result2: result>, ); } world resources { import aggregates; export aggregates; }