sig
  type extern_flags =
    Stdlib.Marshal.extern_flags =
      No_sharing
    | Closures
    | Compat_32
  val output :
    'BatInnerIO.output -> ?sharing:bool -> ?closures:bool -> '-> unit
  external to_bytes : '-> BatMarshal.extern_flags list -> Stdlib.Bytes.t
    = "caml_output_value_to_bytes"
  external to_string : '-> BatMarshal.extern_flags list -> string
    = "caml_output_value_to_string"
  val to_buffer :
    Stdlib.Bytes.t -> int -> int -> '-> BatMarshal.extern_flags list -> int
  val input : BatInnerIO.input -> 'a
  val from_bytes : Stdlib.Bytes.t -> int -> 'a
  val from_string : string -> int -> 'a
  val header_size : int
  val data_size : Stdlib.Bytes.t -> int -> int
  val total_size : Stdlib.Bytes.t -> int -> int
  val to_channel :
    'BatInnerIO.output -> '-> BatMarshal.extern_flags list -> unit
  val from_channel : BatInnerIO.input -> 'a
end