Experimental Prolog interpreter written in OCaml