sig
  val buf_int8 : Buffer.t -> int -> unit
  val buf_int16 : Buffer.t -> int -> unit
  val buf_int31 : Buffer.t -> int -> unit
  val buf_int63 : Buffer.t -> int -> unit
  val buf_string31 : Buffer.t -> string -> unit
  val buf_bool : Buffer.t -> bool -> unit
  val buf_float : Buffer.t -> float -> unit
  val buf_int64 : Buffer.t -> Int64.t -> unit
  val buf_list16 : (Buffer.t -> '-> unit) -> Buffer.t -> 'a list -> unit
  exception IncompleteMessage
  val get_uint8 : string -> int -> int
  val get_int16 : string -> int -> int * int
  val get_int31 : string -> int -> int * int
  val get_int63 : string -> int -> int * int
  val get_int64 : string -> int -> Int64.t * int
  val get_int63_of_31 : string -> int -> int * int
  val get_int64_of_63 : string -> int -> Int64.t * int
  val get_float : string -> int -> float * int
  val get_string : string -> int -> int -> string * int
  val get_list16 :
    (string -> int -> int -> 'a * int) ->
    string -> int -> int -> 'a list * int
  val get_bool : string -> int -> bool
end