Lambda Calculus with Types (Perspectives in Logic)