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