anchor.diff:      case bsm_get_context(Reg, Vst) of
   	#ms{valid=Bits,slots=Slots}=Ctxt0 when SavePoint < Slots ->
   	    Ctx = Ctxt0#ms{valid=Bits bor (1 bsl SavePoint),slots=Slots},
  -	    set_type_reg(Ctx, Reg, Vst);
  +	    override_type(Ctx, Reg, Vst);
   	_ -> error({illegal_save,SavePoint})
       end.
   
  
positive.code: labels_1(Is, R) ->
      {reverse(R),Is}.
  
  init_state(Arity) ->
      Xs = init_regs(Arity, term),
      Ys = init_regs(0, initialized),
      kill_heap_allocation(#st{x=Xs,y=Ys,numy=none,ct=[]}).
  
  kill_heap_allocation(St) ->
      St#st{h=0,hf=0}.
  
negative.code: init_regs(0, _) ->
      gb_trees:empty();
  init_regs(N, Type) ->
      gb_trees_from_list([{R,Type} || R <- seq(0, N-1)]).
  
  valfun([], MFA, _Offset, #vst{branched=Targets0,labels=Labels0}=Vst) ->
      Targets = gb_trees:keys(Targets0),
  