== x == var x: Int --------------------- ===================== == foo == fun foo(f: Boolean) { try { if (f) { x = 0 } } finally { fun bar() {} } } --------------------- : Boolean NEW: magic[FAKE_INITIALIZER](f: Boolean) -> f : Boolean NEW: r(f) -> 0 : Int NEW: r(0) -> x = 0 !: * { x = 0 } !: * COPY if (f) { x = 0 } : * NEW: merge(if (f) { x = 0 }|!) -> { if (f) { x = 0 } } : * COPY try { if (f) { x = 0 } } finally { fun bar() {} } : * NEW: merge(try { if (f) { x = 0 } } finally { fun bar() {} }|) -> { try { if (f) { x = 0 } } finally { fun bar() {} } } : * COPY ===================== == bar == fun bar() {} --------------------- ===================== == bar == fun bar() {} --------------------- =====================