== foo == fun foo(x: Int) { val (a, b) = x a } --------------------- : Int NEW: magic(x: Int) -> : {<: [ERROR : component1() return type]} NEW: magic(a|) -> : {<: [ERROR : component2() return type]} NEW: magic(b|) -> x : * NEW: r(x) -> a : * NEW: r(a) -> { val (a, b) = x a } : * COPY =====================