Hindley-Milner Type Inference Algorithm in OCaml (github.com)