Lambda calculus with types - Barendregt, H. P. (Perspectives in logic., 2013)