Add lambda calculus with type inference