address 0x42 { module X { struct Box { f: T } public fun t() { t>() } public fun x() { y>() } public fun y() { x>() } public fun a() { b() } public fun b() { c() } public fun c() { a>() } } module Y { struct Box { f: T } public fun x() { y>() } public fun y() { z>() } public fun z() { z>() } public fun a() { b() } public fun b() { c() } public fun c() { d>() } public fun d() { a() } } module Z { struct Box { f: T } public fun tl() { tr() } public fun tr() { bl>(); br() } public fun br
() { bl
() } public fun bl() { tl() } } }