anchor.diff:      {_NewState1, _Add} = Ret -> Ret
     end.
   
  --spec update_maps(#state{}, icode_lbl(), ordsets:ordset(icode_lbl()),
  +-spec update_maps(state(), icode_lbl(), ordsets:ordset(icode_lbl()),
   		  var_map(), [icode_lbl()])
  -		 -> {#state{}, [icode_lbl()]}.
  +		 -> {state(), [icode_lbl()]}.
   
   update_maps(State, From, [To|Left], Map, Acc) ->
     case state__map_update(State, From, To, Map) of
  
positive.code: subst_phi_uses0([], _Map, Acc) ->
    Acc.
  
  -spec subst_phi_uncond(#icode_phi{}, #icode_variable{}, edge_map())
  		      -> #icode_phi{}.
  
  subst_phi_uncond(I, Dst, Map) ->
    ArgList = subst_phi_uses_uncond0(hipe_icode:phi_arglist(I), Map, []),
    hipe_icode:mk_phi(Dst, ArgList).
  
  -spec subst_phi_uses_uncond0([{icode_lbl(), #icode_variable{}}], edge_map(),
  			     [{icode_lbl(), #icode_variable{}}])
  			    -> [{icode_lbl(), #icode_variable{}}].
  
  subst_phi_uses_uncond0([{Pred, Var}|Left], Map, Acc) ->
    case Map of
  
negative.code: redirect_phis([], _OldFrom, _NewFrom, Acc) ->
    lists:reverse(Acc).
  
  -spec subst_phi(icode_phi(), icode_variable(), edge_map())
  	       -> icode_phi().
  
  subst_phi(I, Dst, Map) ->
    ArgList = subst_phi_uses0(hipe_icode:phi_arglist(I), Map, []),
    hipe_icode:mk_phi(Dst, ArgList).
  
  -spec subst_phi_uses0([{icode_lbl(), icode_variable()}], edge_map(),
  		      [{icode_lbl(), icode_variable()}])
  		     -> [{icode_lbl(), icode_variable()}].
  
  subst_phi_uses0([{Pred, Var}|Left], Map, Acc) ->
    case Map of
  