anchor.diff:  recv_1(Len, << "T\r\n", Rest1/binary >>, Acc) ->
       recv_2(Len, ?BIN_ORG_TYPE_TUPLE, Rest1, Acc);
   recv_1(_,_InvalidBlock,_) ->
  -    {error, {invalid_tuple_type, _InvalidBlock}}.
  +    {recv_error, {invalid_tuple_type, _InvalidBlock}}.
   
   recv_2(Len, Type, Rest1, Acc) ->
       case (byte_size(Rest1) > Len) of
  
positive.code: recv_0(?BIN_ORG_TYPE_TUPLE, << Len:?BLEN_PARAM_TERM/integer, "\r\n", Rest/binary >>) ->
      recv_1(Len, Rest, []);
  recv_0(InvalidType, _Rest) ->
      {error, {invalid_root_type, InvalidType}}.
  
  recv_1(_, <<"\r\n">>, Acc) ->
      list_to_tuple(Acc);
  
negative.code:         {ok, Rest} ->
              recv(Socket, <<Bin/binary, Rest/binary>>, 8);
          _ ->
              {recv_error, {invalid_data_length, GotSize}}
      end;
  recv(Socket, << "*",
                  Type:?BLEN_TYPE_LEN/binary,
  