anchor.diff:  normalize(S=#service{tags=undefined}) -> normalize(S#service{tags=default_tags()});
   normalize(S=#service{pid=undefined}) -> normalize(S#service{pid=self(),node=node()});
   normalize(S=#service{name=Name}) when is_atom(Name) -> normalize(S#service{name=p6str:to_lower_bin(Name)});
  -normalize(S) -> S.
  +normalize(S=#service{tags=Tags}) -> S#service{tags=fix_tags(Tags)}.
   
   regGlobal(Service=#service{pid=Pid}) ->
       S = normalize(Service),
  
positive.code: 	    mmd_msg:error(From, CC, ?INVALID_REQUEST,
  			  "Error, bad request: ~p",[Reason]);
  	{ok,Str} ->
  	    case re:compile(Str) of
  		{ok, MP} ->
  		    Ret = lists:foldl(fun(Svc,Acc) ->
  					      SB = p6str:mkbin(Svc),
  
negative.code: 	  end,
      fix_tags(Ret).
  
  fix_tags(undefined) -> undefined;
  fix_tags(List) -> lists:usort(p6str:to_lower_list(List)).
  
  merge_tags(undefined,undefined) -> undefined;
  merge_tags(undefined,List) -> List;
  merge_tags(List,undefined) -> List;
  