sig
  val output :
    'a BatInnerIO.output -> ?sharing:bool -> ?closures:bool -> 'b -> unit
  val input : BatInnerIO.input -> 'a
  val to_channel :
    'a BatInnerIO.output -> 'b -> Marshal.extern_flags list -> unit
  val from_channel : BatInnerIO.input -> 'a
end