sig
  val argv : string array
  val executable_name : string
  val file_exists :
    ?follow_symlinks:bool -> string -> [ `No | `Unknown | `Yes ]
  val file_exists_exn : ?follow_symlinks:bool -> string -> bool
  val is_directory :
    ?follow_symlinks:bool -> string -> [ `No | `Unknown | `Yes ]
  val is_file : ?follow_symlinks:bool -> string -> [ `No | `Unknown | `Yes ]
  val is_directory_exn : ?follow_symlinks:bool -> string -> bool
  val is_file_exn : ?follow_symlinks:bool -> string -> bool
  val remove : string -> unit
  val rename : string -> string -> unit
  val getenv : string -> string option
  val getenv_exn : string -> string
  val command : string -> int
  val command_exn : string -> unit
  val chdir : string -> unit
  val getcwd : unit -> string
  val readdir : string -> string array
  val fold_dir : init:'acc -> f:('acc -> string -> 'acc) -> string -> 'acc
  val ls_dir : string -> string list
  val interactive : bool ref
  val os_type : string
  val word_size : int
  exception Break
  val catch_break : bool -> unit
  val ocaml_version : string
  val execution_mode : unit -> [ `Bytecode | `Native ]
  external c_int_size : unit -> int = "c_int_size" "noalloc"
  val ls : string -> string list
  val file_kind : string -> Core.Std.Unix.file_kind
  val home : unit -> string
  val groups : unit -> string list
  val hostname : unit -> string
  val last_accessed :
    ?follow_symlinks:bool -> string -> Core.Std.Time.t option
  val last_accessed_exn : ?follow_symlinks:bool -> string -> Core.Std.Time.t
  val last_modified :
    ?follow_symlinks:bool -> string -> Core.Std.Time.t option
  val last_modified_exn : ?follow_symlinks:bool -> string -> Core.Std.Time.t
  val last_changed :
    ?follow_symlinks:bool -> string -> Core.Std.Time.t option
  val last_changed_exn : ?follow_symlinks:bool -> string -> Core.Std.Time.t
  val file_size : ?follow_symlinks:bool -> string -> Core.Std.Int64.t option
  val file_size_exn : ?follow_symlinks:bool -> string -> Core.Std.Int64.t
  val scroll_lock : bool -> unit
end