anchor.diff:      %% prim_eval:'receive'/2 won't leak the term, nor cause a GC since it's
       %% disabled while matching messages.
       remove_fragility(Reg, Vst);
  -valfun_1({'%',_}, Vst) ->
  +vi_safe({'%',_}, Vst) ->
       Vst;
  -valfun_1({line,_}, Vst) ->
  +vi_safe({line,_}, Vst) ->
       Vst;
   
   %%
   %% Calls; these may be okay when the try/catch state or stack is undecided,
   %% depending on whether they always succeed or always fail.
   %%
  -valfun_1({apply,Live}, Vst) ->
  +vi_safe({apply,Live}, Vst) ->
       validate_body_call(apply, Live+2, Vst);
  -valfun_1({apply_last,Live,N}, Vst) ->
  +vi_safe({apply_last,Live,N}, Vst) ->
       validate_tail_call(N, apply, Live+2, Vst);
  -valfun_1({call_fun,Live}, Vst) ->
  +vi_safe({call_fun,Live}, Vst) ->
       Fun = {x,Live},
       assert_term(Fun, Vst),
   
  
positive.code:             error({wrong_tag_type,Type})
      end;
  %% Simple getters that can't fail.
  valfun_1({get_list,Src,D1,D2}, Vst0) ->
      assert_not_literal(Src),
      assert_type(#t_cons{}, Src, Vst0),
  
  
negative.code:                    create_term(#t_bitstring{size_unit=Unit}, bs_append,
                                 [Bin], Dst, SuccVst, SuccVst0)
             end);
  vi_throwing({bs_private_append,{f,Fail},Bits,Unit,Bin,_Flags,Dst}, Vst) ->
      assert_term(Bits, Vst),
      assert_term(Bin, Vst),
      branch(Fail, Vst,
  