An Entity-Components-Systems implementation in Ocaml