def _interpret_fun(fun: lu.WrappedFun, in_vals: Sequence[TfVal], in_avals: Sequence[core.AbstractValue]) -> Sequence[Tuple[(TfVal, core.AbstractValue)]]:
    with core.new_base_main(TensorFlowTrace) as main:
        fun = _interpret_subtrace(fun, main, in_avals)
        with core.new_sublevel():
            out_vals: Sequence[Tuple[(TfVal, core.AbstractValue)]] = fun.call_wrapped(*in_vals)
        del main
    return tuple(out_vals)
def _interpret_fun(fun: lu.WrappedFun, in_vals: Sequence[TfVal], in_avals: Sequence[core.AbstractValue]) -> Sequence[Tuple[(TfVal, core.AbstractValue)]]:
    with core.new_base_main(TensorFlowTrace) as main:
        fun = _interpret_subtrace(fun, main, in_avals)
        with core.new_sublevel():
            out_vals: Sequence[Tuple[(TfVal, core.AbstractValue)]] = fun.call_wrapped(*in_vals)
        del main
    return tuple(out_vals)