address 0x42 { module M { struct Box { f: T } public fun t0() { t1(); t0() } public fun t1() { t0(); t1() } public fun x() { y>() } public fun y() { z>() } public fun z() { z() } } module N { use 0x42::M; public fun t() { M::t0>() } } }