anchor.diff:      mc_ascii:send(Out, <<"STORED\r\n">>),
       {ok, Dict2};
   
  +cmd(delete, Dict, _InSock, Out, [Key]) ->
  +    Dict2 = case dict:find(Key, Dict#session_dict.tbl) of
  +                {ok, _} ->
  +                    mc_ascii:send(Out, <<"DELETED\r\n">>),
  +                    Dict#session_dict{tbl = dict:erase(Key,
  +                                                       Dict#session_dict.tbl)};
  +                _ ->
  +                    mc_ascii:send(Out, <<"NOT_FOUND\r\n">>)
  +            end,
  +    {ok, Dict2};
  +
  +cmd(flush_all, Dict, _InSock, Out, []) ->
  +    mc_ascii:send(Out, <<"OK">>),
  +    {ok, Dict#session_dict{tbl = dict:new()}};
  +
   cmd(quit, _Dict, _InSock, _Out, _Rest) ->
  -    exit({ok, quit_received}).
  +    exit({ok, quit_received});
  +
  +cmd(UnknownCmd, Dict, _InSock, Out, []) ->
  +    ?debugVal(UnknownCmd),
  +    mc_ascii:send(Out, <<"ERROR\r\n">>),
  +    {ok, Dict}.
   
   bin_size(undefined) -> 0;
   bin_size(List) when is_list(List) -> bin_size(iolist_to_binary(List));
  
positive.code: 
  % For testing...
  %
  main()        -> main(11222).
  main(PortNum) -> mc_accept:start(PortNum,
                                   {mc_server_ascii,
                                    mc_server_ascii_dict, {}}).
  
negative.code: 
  session(_Sock, Env) ->
      {ok, Env, #session_dict{}}.
  
  cmd(version, Dict, _InSock, Out, []) ->
      mc_ascii:send(Out, <<"VERSION mc_server_ascii_dict\r\n">>),
      {ok, Dict};
  
  cmd(get, Dict, _InSock, Out, []) ->
      mc_ascii:send(Out, <<"END\r\n">>),
  