Abstract engine for text edition in OCaml
