I have always wanted to implement a unification algorithm for learning purposes and I meant to do it in Haskell but I always run intro trouble setting up the Haskell development environment so now I am trying Ocaml. So, good luck and have fun, I guess.
Interesting info
.mli : ocamlc -i x.ml > x.mli
.cmi : ocamlc x.mli
.cmo : ocamlc -c x.ml
.cmx : ocamlopt -c x.ml