Lisp implementation in OCaml