anchor.diff:              Ds = Ds0#{ Dst => I },
               {I, Ts, Ds}
       end;
  -simplify(#b_set{op={succeeded,Kind},args=[Arg],dst=Dst}=I0,
  +simplify(#b_set{op={succeeded,Kind},args=[Arg],dst=Dst}=I,
            Ts0, Ds0, _Ls, Sub) ->
  -    Type = case will_succeed(I0, Ts0, Ds0, Sub) of
  +    Type = case will_succeed(I, Ts0, Ds0, Sub) of
                  yes -> beam_types:make_atom(true);
                  no -> beam_types:make_atom(false);
                  maybe -> beam_types:make_boolean()
  
positive.code:        Ts0, Ds0, Ls, Fdb0, Sub0, Meta, Acc) when MakeFun =:= make_fun;
                                                   MakeFun =:= old_make_fun ->
      Args = simplify_args(Args0, Ts0, Sub0),
      I1 = beam_ssa:normalize(I0#b_set{args=Args}),
  
      {I, Fdb} = opt_make_fun(I1, Ts0, Fdb0, Meta),
  
  
negative.code:     Args = simplify_args(Args0, Ts0, Sub),
      I1 = beam_ssa:normalize(I0#b_set{args=Args}),
      case simplify(I1, Ts0) of
          #b_set{}=I ->
              Ts = update_types(I, Ts0, Ds0),
              Ds = Ds0#{ Dst => I },
              {I, Ts, Ds};
  