       &parse(&1, :string), # orientdb release
     ]
 
-    case GenericParser.parse(data, parsers) do
+    case GP.parse(data, parsers) do
       {[sid, token, _clusters, _config, _release], rest} ->
         {[sid, token], rest}
       :incomplete ->

      &parse(&1, :bytes)
    ]

    case GenericParser.parse(rest, parsers) do
      {[record_type, _cluster_id, _cluster_pos, version, record_content], rest} ->
        {class_name, fields} = RecordSerialization.decode(record_content)
        record = %MarcoPolo.Record{class: class_name, fields: fields, version: version}

  @moduledoc false

  require Integer

  import MarcoPolo.Protocol.BinaryHelpers

  alias MarcoPolo.GenericParser, as: GP
  alias MarcoPolo.Error
  alias MarcoPolo.Protocol.RecordSerialization

  @type encodable_term ::
