Implementations of various Data Structures on OCaml