procedure Bool.1 (): let Bool.24 : Int1 = false; ret Bool.24; procedure Bool.11 (#Attr.2, #Attr.3): let Bool.23 : Int1 = lowlevel Eq #Attr.2 #Attr.3; dec #Attr.3; dec #Attr.2; ret Bool.23; procedure Test.1 (): let Test.9 : I64 = 42i64; let Test.10 : Str = "foo"; let Test.8 : {I64, Str} = Struct {Test.9, Test.10}; ret Test.8; procedure Test.0 (): let Test.18 : {} = Struct {}; let Test.19 : {I64, Str} = CallByName Test.1; let Test.5 : {{I64, Str}, {}} = Struct {Test.19, Test.18}; let Test.14 : {I64, Str} = StructAtIndex 0 Test.5; inc Test.14; let Test.15 : I64 = StructAtIndex 0 Test.14; dec Test.14; let Test.16 : I64 = 42i64; let Test.17 : Int1 = lowlevel Eq Test.16 Test.15; if Test.17 then let Test.13 : {I64, Str} = StructAtIndex 0 Test.5; inc Test.13; dec Test.5; let Test.7 : {I64, Str} = CallByName Test.1; let Test.6 : Int1 = CallByName Bool.11 Test.7 Test.13; ret Test.6; else dec Test.5; let Test.11 : Int1 = CallByName Bool.1; ret Test.11;