Hindley–Milner type system - Wikipedia
https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system
Type inference - Rust Compiler Development Guide
https://rustc-dev-guide.rust-lang.org/type-inference.html