anchor.diff:  
   update_vars(#b_set{args=Args,dst=Dst}, Vs) ->
       Vars = [V || #b_var{}=V <- Args],
  -    All = all(fun(V) ->
  -                      Var = {var,V},
  +    All = all(fun(Var) ->
                         case Vs of
                             #{Var:=message} -> true;
                             #{} -> false
                         end
                 end, Vars),
       case All of
  -        true -> Vs#{{var,Dst}=>message};
  +        true -> Vs#{Dst=>message};
           false -> Vs
       end.
   
  
positive.code: %%  Return 'true' if Args denotes a comparison between the
  %%  reference and message or part of the message.
  
  is_ref_msg_comparison([#b_var{}=A1,#b_var{}=A2], Vs) ->
      V1 = {var,A1},
      V2 = {var,A2},
      case Vs of
          #{V1:=ref,V2:=message} -> true;
          #{V1:=message,V2:=ref} -> true;
  
negative.code:     end.
  
  opt_ref_used_is([#b_set{op=peek_message,dst=Msg}|Is], Vs0) ->
      Vs = Vs0#{Msg=>message},
      opt_ref_used_is(Is, Vs);
  opt_ref_used_is([#b_set{op={bif,Bif},args=Args,dst=Dst}=I|Is],
                  Vs0) ->
  