anchor.diff:  	    end;
   	#k_map{es=Es} ->
   	    Keys = [begin
  -			#k_map_pair_assoc{key=#k_literal{val=Key}} = Pair,
  +			#k_map_pair_exact{key=#k_literal{val=Key}} = Pair,
   			Key
   		    end || Pair <- Es],
   	    %% multiple keys may have the same name
  
positive.code: pattern(#c_map{anno=A,es=Ces}, Isub, Osub0, St0) ->
      {Kes,Osub1,St1} = pattern_list(Ces, Isub, Osub0, St0),
      {#k_map{anno=A,es=Kes},Osub1,St1};
  pattern(#c_map_pair_assoc{anno=A,key=Ck,val=Cv},Isub, Osub0, St0) ->
      {Kk,Osub1,St1} = pattern(Ck, Isub, Osub0, St0),
      {Kv,Osub2,St2} = pattern(Cv, Isub, Osub1, St1),
      {#k_map_pair_assoc{anno=A,key=Kk,val=Kv},Osub2,St2};
  pattern(#c_map_pair_exact{anno=A,key=Ck,val=Cv},Isub, Osub0, St0) ->
      {Kk,Osub1,St1} = pattern(Ck, Isub, Osub0, St0),
      {Kv,Osub2,St2} = pattern(Cv, Isub, Osub1, St1),
      {#k_map_pair_assoc{anno=A,key=Kk,val=Kv},Osub2,St2};
  pattern(#c_binary{anno=A,segments=Cv}, Isub, Osub0, St0) ->
      {Kv,Osub1,St1} = pattern_bin(Cv, Isub, Osub0, St0),
      {#k_binary{anno=A,segs=Kv},Osub1,St1};
  
negative.code: 				     [N|As];
  				 #k_map{es=Es} ->
  				     Vals = [V ||
  						#k_map_pair_exact{val=V} <- Es],
  				     Vals ++ As;
  				 _Other ->
  				     As
  