sig
  type extern_flags = No_sharing | Closures
  val to_channel :
    Pervasives.out_channel -> '-> Marshal.extern_flags list -> unit
  external to_string : '-> Marshal.extern_flags list -> string
    = "caml_output_value_to_string"
  val to_buffer :
    string -> int -> int -> '-> Marshal.extern_flags list -> int
  val from_channel : Pervasives.in_channel -> 'a
  val from_string : string -> int -> 'a
  val header_size : int
  val data_size : string -> int -> int
  val total_size : string -> int -> int
end