The Compiler Frontend: Parsing and Type Checking - Real World OCaml