anchor.diff:  
   %%--------------------------------------------------------------------
   to_list(Cmd) when is_record(Cmd, irc_cmd) ->
  -    to_list(Cmd#irc_cmd.name, Cmd#irc_cmd.args, Cmd) ++ "\r\n".
  +    to_list(Cmd#irc_cmd.name, Cmd#irc_cmd.args, Cmd) ++ "\r\n";
  +to_list(#user{} = User) ->
  +    user_to_list(User).
   
   to_list(pass, Args, _Cmd) when length(Args) >= 3 ->
       Pass = proplists:get_value(password, Args),
  
positive.code:     Name = proplists:get_value(user_name, Args),
      Mode = proplists:get_value(mode, Args, "+w"),
      RealName = proplists:get_value(real_name, Args, "Erlang Hacker"),
      lists:flatten(["USER ", Name, " ", Mode, " * :", RealName]).
  
  %%====================================================================
  %% Internal functions
  %%====================================================================
  
  now_to_unix_ts(Tm) ->
      calendar:datetime_to_gregorian_seconds(Tm) -
  
negative.code:     ?assertMatch("nem", proplists:get_value(user_name,Cmd#irc_cmd.args)),
      ?assertMatch("Geoff Cant", proplists:get_value(real_name,Cmd#irc_cmd.args)).
  
  user_to_list_test() ->
      ?assertMatch("nem!nem@localhost", to_list(#user{nick="nem",name="nem",host="localhost"})).
  
  %numreply_test() ->
  %    ?assertMatch(Num when Num > 0, string:str(to_list(#irc_cmd{name=notregistered,}))).
  