sig
  val z : string -> bool
  val n : string -> bool
  val ef : string -> string -> bool
  val nt : string -> string -> bool
  val ot : string -> string -> bool
  val b : string -> bool
  val c : string -> bool
  val d : string -> bool
  val f : string -> bool
  val h : string -> bool
  val p : string -> bool
  val e : string -> bool
  val g : string -> bool
  val k : string -> bool
  val s : string -> bool
  val u : string -> bool
  val t : int -> bool
  val tfile : string -> bool
  val r : string -> bool
  val w : string -> bool
  val x : string -> bool
  val test :
    ([< `And of 'a * 'a
      | `Char
      | `Dir
      | `Equal of string
      | `Execute
      | `Exists
      | `Link
      | `Newer of string
      | `NonEmpty
      | `Older of string
      | `Or of 'a * 'a
      | `Pipe
      | `Read
      | `Reg
      | `Sgid
      | `Sticky
      | `Suid
      | `Tty
      | `Write ]
     as 'a) ->
    string -> bool
end