│ ─ %-1  = invoke foo(::Int64,::Int64)::Any
[90m[72G│╻ Box[1G[39m[90m2 [39m[0m1 ──[32m    0[39m %1  = Core.Box[36m::Core.Const(Core.Box)[39m
[90m[72G││[1G[39m[90m  [39m[0m│   [32m    0[39m %2  = %new(%1)[36m::Core.Box[39m
[90m[72G│╻ +[1G[39m[90m  [39m[0m│   [32m    1[39m %3  = Base.add_int(_2, _3)[36m::Int64[39m
[90m[72G│ [1G[39m[90m  [39m[0m│   [32m    3[39m       Core.setfield!(%2, :contents, %3)[90m::Int64[39m
[90m[72G│ [1G[39m[90m3 [39m[0m│   [32m    1[39m %5  = Core.isdefined(%2, :contents)[36m::Bool[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #3 if not %5
[90m[72G│ [1G[39m[90m  [39m[0m2 ──[32m    0[39m       goto #4
[90m[72G│ [1G[39m[90m  [39m[0m3 ──[32m    0[39m       $(Expr(:throw_undef_if_not, :z, false))[90m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m4 ┄─[32m    0[39m %9  = Core.getfield(%2, :contents)[36m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m│   [32m 1000[39m %10 = (%9 < 4)[36m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #9 if not %10
[90m[72G│ [1G[39m[90m4 [39m[0m5 ──[32m    1[39m %12 = Core.isdefined(%2, :contents)[36m::Bool[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #7 if not %12
[90m[72G│ [1G[39m[90m  [39m[0m6 ──[32m    0[39m       goto #8
[90m[72G│ [1G[39m[90m  [39m[0m7 ──[32m    0[39m       $(Expr(:throw_undef_if_not, :z, false))[90m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m8 ┄─[32m    0[39m %16 = Core.getfield(%2, :contents)[36m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m│   [32m 1000[39m %17 = (%16 + 1)[36m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    3[39m       Core.setfield!(%2, :contents, %17)[90m::Any[39m
[90m[72G│ [1G[39m[90m6 [39m[0m9 ┄─[32m    0[39m %19 = %new(Main.anonymous.:(var"#1#2"), %2)[36m::Main.anonymous.var"#1#2"[39m
[90m[72G│ [1G[39m[90m  [39m[0m│   [32m   20[39m %20 = invoke %19(_2::Int64)[36m::Any[39m
[90m[72G│ [1G[39m[90m7 [39m[0m│   [32m    1[39m %21 = (isa)(_2, Missing)[36m::Bool[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #11 if not %21
[90m[72G│ [1G[39m[90m  [39m[0m10 ─[32m    0[39m       goto #14
[90m[72G│ [1G[39m[90m  [39m[0m11 ─[32m    1[39m %24 = (isa)(_2, Int64)[36m::Bool[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #13 if not %24
[90m[72G│╻ +[1G[39m[90m  [39m[0m12 ─[32m    1[39m %26 = Base.add_int(_2, _3)[36m::Int64[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       goto #14
[90m[72G│ [1G[39m[90m  [39m[0m13 ─[32m    0[39m       Core.throw(ErrorException("fatal error in type inference (type bound)"))[90m::Union{}[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       unreachable
[90m[72G│ [1G[39m[90m  [39m[0m14 ┄[32m    0[39m %30 = φ (#10 => $(QuoteNode(missing)), #12 => %26)[36m::Union{Missing, Int64}[39m
[90m[72G│ [1G[39m[90m8 [39m[0m│   [32m 1000[39m %31 = (%20 + %30)[36m::Any[39m
[90m[72G│ [1G[39m[90m  [39m[0m└───[32m    0[39m       return %31
[90m[72G  [1G[39m[90m  [39m