A Cat interpreter in OCaml