sig
  type read_flag = [ `Binary | `Dummy | `Skip of int64 | `Streaming ]
  type read_file_flag = [ `Binary | `Dummy ]
  type write_flag =
      [ `Binary | `Create | `Dummy | `Exclusive | `Streaming | `Truncate ]
  type write_file_flag =
      [ `Binary | `Create | `Dummy | `Exclusive | `Link | `Truncate ]
  type write_common = [ `Binary | `Create | `Dummy | `Exclusive | `Truncate ]
  type size_flag = [ `Dummy ]
  type test_flag = [ `Dummy | `Link ]
  type remove_flag = [ `Dummy | `Recursive ]
  type rename_flag = [ `Dummy ]
  type symlink_flag = [ `Dummy ]
  type readdir_flag = [ `Dummy ]
  type readlink_flag = [ `Dummy ]
  type mkdir_flag = [ `Dummy | `Nonexcl | `Path ]
  type rmdir_flag = [ `Dummy ]
  type copy_flag = [ `Dummy ]
  type test_type = [ `D | `E | `F | `H | `N | `R | `S | `W | `X ]
  class type local_file =
    object method close : unit -> unit method filename : string end
  class type stream_fs =
    object
      method cancel : unit -> unit
      method copy : Netfs.copy_flag list -> string -> string -> unit
      method mkdir : Netfs.mkdir_flag list -> string -> unit
      method nominal_dot_dot : bool
      method path_encoding : Netconversion.encoding option
      method path_exclusions : (int *eywordsig="Chapter" href="Netglob.html"> Ocamlnet 3 Reference Manual : Netfs sig
  type read_flag = [ `Binary | `Dummy | `Skip of int64 | `Streaming ]
  type read_file_flag = [ `Binary | `Dummy ]
  type write_flag =
      [ `Binary | `Create | `Dummy | `Exclusive | `Streaming | `Truncate ]
  type write_file_flag =
      [ `Binary | `Create | `Dummy | `Exclusive | `Link | `Truncate ]
  type write_common = [ `Binary | `Create | `Dummy | `Exclusive | `Truncate ]
  type size_flag = [ `Dummy ]
  type test_flag = [ `Dummy | `Link ]
  type remove_flag = [ `Dummy | `Recursive ]
  type rename_flag = [ `Dummy ]
  type symlink_flag = [ `Dummy ]
  type readdir_flag = [ `