A partial implement of Hindley-Milner type inference with @thatismatt