Typed Lambda Calculi and Applications by Philippe de Groote