anchor.diff:  recv_line_test() ->
       {ok, Sock} = gen_tcp:connect("localhost", 11211,
                                    [binary, {packet, 0}, {active, false}]),
  +    (fun () ->
  +        ok = gen_tcp:send(Sock, "version\r\n"),
  +        {ok, RB} = recv_line(Sock),
  +        R = binary_to_list(RB),
  +        ?assert(starts_with(R, "VERSION ")),
  +        ?assert(ends_with(R, "\r\n"))
  +    end)(),
   
  -    ok = gen_tcp:send(Sock, "version\r\n"),
  -    {ok, R1B} = recv_line(Sock),
  -    R1 = binary_to_list(R1B),
  -    ?assert(starts_with(R1, "VERSION ")),
  -    ?assert(ends_with(R1, "\r\n")),
  -
  -    ok = gen_tcp:send(Sock, "not-a-command\r\n"),
  -    {ok, R2B} = recv_line(Sock),
  -    ?assertMatch(R2B, <<"ERROR\r\n">>),
  +    (fun () ->
  +        ok = gen_tcp:send(Sock, "not-a-command\r\n"),
  +        {ok, RB} = recv_line(Sock),
  +        ?assertMatch(RB, <<"ERROR\r\n">>)
  +    end)(),
   
       ok = gen_tcp:close(Sock).
   
  
positive.code: 
  -compile(export_all).
  
  % cmd(get, Sock, RecvCB, Args) ->
  %   ok;
  % cmd(version, Sock, RecvCB, Args) ->
  %   ok.
  
  %% @doc receive binary data of specified number of bytes length.
  recv_data(_, 0) -> <<>>;
  
negative.code:         Err -> Err
      end.
  
  %% @doc receive a binary CRNL terminated line, including the CRNL.
  recv_line(Sock) ->
      recv_line(Sock, <<>>).
  
  