sig
  val scan :
    ?absolute:bool ->
    ?path:bool ->
    ?root:string ->
    ?nofollow:bool -> (string -> unit) -> (string -> bool) list -> unit
  val lscan :
    ?rev:bool ->
    ?absolute:bool ->
    ?path:bool ->
    ?root:string list ->
    ?nofollow:bool -> (string list -> unit) -> (string -> bool) list -> unit
  val list :
    ?absolute:bool ->
    ?path:bool ->
    ?root:string ->
    ?nofollow:bool -> ?sort:bool -> (string -> bool) list -> string list
  val llist :
    ?rev:bool ->
    ?absolute:bool ->
    ?path:bool ->
    ?root:string list ->
    ?nofollow:bool -> ?sort:bool -> (string -> bool) list -> string list list
end