functor (Re : ReType->   sig     val iter : Re.re -> string -> Re.substrings list     val subst : subst:(Re.substrings -> string) -> Re.re -> string -> string     val replace : Re.re -> string -> string -> string   end