Programming in higher-order typed lambda-calculi - Pierce, Benjamin; Dietzen, Scott; Michaylov, Spiro (1989)