anchor.diff:      {#k_tuple{es=Mes},Mes,St1};
   get_match(#k_map{es=Es0}, St0) ->
       {Mes,St1} = new_vars(length(Es0), St0),
  -    {Es,_} = mapfoldl(fun(#k_map_pair_assoc{}=Pair, [V|Vs]) ->
  -			      {Pair#k_map_pair_assoc{val=V},Vs}
  -		      end, Mes, Es0),
  +    {Es,_} = mapfoldl(fun
  +	    (#k_map_pair_exact{}=Pair, [V|Vs]) ->
  +		{Pair#k_map_pair_exact{val=V},Vs}
  +	end, Mes, Es0),
       {#k_map{es=Es},Mes,St1};
   get_match(M, St) ->
       {M,[],St}.
  
positive.code: 	    end;
  	#k_map{es=Es} ->
  	    Keys = [begin
  			#k_map_pair_assoc{key=#k_literal{val=Key}} = Pair,
  			Key
  		    end || Pair <- Es],
  	    %% multiple keys may have the same name
  
negative.code: 				     [N|As];
  				 #k_map{es=Es} ->
  				     Vals = [V ||
  						#k_map_pair_exact{val=V} <- Es],
  				     Vals ++ As;
  				 _Other ->
  				     As
  