│ ─ %-1  = invoke foo(::Int64,::Int64)::Union{}
[90m[71G│╻  Box[1G[39m[90m2 [39m[0m1 ──[32m    0[39m %1  = Core.Box[36m::Core.Const(Core.Box)[39m
[90m[71G││ [1G[39m[90m  [39m[0m│   [32m    0[39m %2  = %new(%1)[36m::Core.Box[39m
[90m[71G│╻  +[1G[39m[90m  [39m[0m│   [32m    1[39m %3  = Base.add_int(_2, _3)[36m::Int64[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m    3[39m       Core.setfield!(%2, :contents, %3)[90m::Int64[39m
[90m[71G│  [1G[39m[90m3 [39m[0m2 ┄─[32m    1[39m %5  = Core.isdefined(%2, :contents)[36m::Bool[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #4 if not %5
[90m[71G│  [1G[39m[90m  [39m[0m3 ──[32m    0[39m       goto #5
[90m[71G│  [1G[39m[90m  [39m[0m4 ──[32m    0[39m       $(Expr(:throw_undef_if_not, :z, false))[90m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m5 ┄─[32m    0[39m %9  = Core.getfield(%2, :contents)[36m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m│   [32m 1000[39m %10 = (%9 < 4)[36m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #10 if not %10
[90m[71G│  [1G[39m[90m4 [39m[0m6 ──[32m    1[39m %12 = Core.isdefined(%2, :contents)[36m::Bool[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #8 if not %12
[90m[71G│  [1G[39m[90m  [39m[0m7 ──[32m    0[39m       goto #9
[90m[71G│  [1G[39m[90m  [39m[0m8 ──[32m    0[39m       $(Expr(:throw_undef_if_not, :z, false))[90m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m9 ┄─[32m    0[39m %16 = Core.getfield(%2, :contents)[36m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m│   [32m 1000[39m %17 = (%16 + 1)[36m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m│   [32m    3[39m       Core.setfield!(%2, :contents, %17)[90m::Any[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m   40[39m       goto #2
[90m[71G│  [1G[39m[90m6 [39m[0m10 ─[32m    0[39m %20 = %new(Main.anonymous.:(var"#1#2"), %2)[36m::Main.anonymous.var"#1#2"[39m
[90m[71G│  [1G[39m[90m  [39m[0m│   [32m   20[39m       invoke %20(_2::Int64)[90m::Any[39m
[90m[71G│╻╷ Ref[1G[39m[90m7 [39m[0m│   [32m    0[39m %22 = %new(Base.RefValue{Union{Missing, Int64}}, _2)[36m::Base.RefValue{Union{Missing, Int64}}[39m
[90m[71G│  [1G[39m[90m  [39m[0m│   [32m    0[39m       (%22 + _3)[90m::Union{}[39m
[90m[71G│  [1G[39m[90m  [39m[0m└───[32m    0[39m       unreachable
[90m[71G   [1G[39m[90m  [39m