`sig type extern_flags = Marshal.extern_flags = No_sharing | Closures | Compat_32 val output : 'b BatInnerIO.output -> ?sharing:bool -> ?closures:bool -> 'a -> unit external to_bytes : 'a -> BatMarshal.extern_flags list -> Bytes.t = "caml_output_value_to_string" external to_string : 'a -> BatMarshal.extern_flags list -> string = "caml_output_value_to_string" val to_buffer : Bytes.t -> int -> int -> 'a -> 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 : 'b BatInnerIO.output -> 'a -> BatMarshal.extern_flags list -> unit val from_channel : BatInnerIO.input -> 'a end`