An OCaml interpreter written in OCaml