functor (Str : STRING->
  sig
    type string = Str.t
    type pattern
    val compile : string -> pattern
    val find : pattern:pattern -> string -> int -> int option
    val search : pattern:pattern -> string -> int option
    val find_all : pattern:pattern -> string -> int -> int gen
    val seq : pattern:pattern -> string -> int -> int sequence
    val search' : pattern:string -> string -> int option
    val find_all' : pattern:string -> string -> int gen
    val seq' : pattern:string -> string -> int sequence
  end