package test:ownership; interface both-list-and-resource { resource the-resource { constructor(the-list: list); } record thing { a: list, b: the-resource } list-and-resource: func(a: thing); } world ownership { import lists: interface { foo: func(a: list>) -> list>; } import thing-in: interface { record thing { name: string, value: list } bar: func(a: thing); } import thing-in-and-out: interface { record thing { name: string, value: list } baz: func(a: thing) -> thing; } import both-list-and-resource; export foo: func(); }