Imperative Programming - Real World OCaml