anchor.diff:      validate_src(Src, Vst),
       branch_state(Lbl, Vst);
   valfun_4({bs_add,{f,Fail},[A,B,_],Dst}, Vst) ->
  -    assert_term(A, Vst),
  -    assert_term(B, Vst),
  +    assert_not_fragile(A, Vst),
  +    assert_not_fragile(B, Vst),
       create_term({integer,[]}, Dst, branch_state(Fail, Vst));
   valfun_4({bs_utf8_size,{f,Fail},A,Dst}, Vst) ->
       assert_term(A, Vst),
  
positive.code:     Vst = prune_x_regs(Live, Vst3),
      extract_term(Type, Ss, Dst, Vst, Vst0);
  valfun_4(return, #vst{current=#st{numy=none}}=Vst) ->
      assert_term({x,0}, Vst),
      kill_state(Vst);
  valfun_4(return, #vst{current=#st{numy=NumY}}) ->
      error({stack_frame,NumY});
  
negative.code:     St = St0#st{puts_left={Sz,{Dst,{tuple,Sz}}}},
      Vst#vst{current=St};
  valfun_1({put,Src}, Vst0) ->
      assert_not_fragile(Src, Vst0),
      Vst = eat_heap(1, Vst0),
      #vst{current=St0} = Vst,
      case St0 of
  