I'm an undergrad at the National University of Singapore. We are taught to use ocaml for a Programming Language Implementation class. Previously, the class was taught using java. Ocaml is definitely a better choice for the class because of ADTs and the expressiveness of the language.