Source: http://www.lsv.fr/~goubault/Lambda/lambda.pdf