address 0x42 { module M0 { struct Foo { f: Foo } struct Cup { f: T } struct Bar { f: Cup } struct X { y: vector } struct Y { x: vector } } module M1 { use 0x42::M0; struct Foo { f: M0::Cup } struct A { b: B } struct B { c: C } struct C { d: vector } struct D { x: M0::Cup>> } } }