ref: 5597ed0a108af923f112a4ca6336071f71bae6bd
dir: /utils.ml/
exception Syntax_error of string
exception Runtime_error of string
(* copied verbatim - must needs grok *)
let gsub re f str =
String.concat
""
(List.map
(function
| Str.Delim x -> f x
| Str.Text x -> x)
(Str.full_split re str))
;;