let nil = \n c. n;
let cons = \hd tl n c. c hd tl;
let map = ...;
body
And compile it as: (\nil cons map. body) (\n c. n) (\hd tl n c. c hd tl) (...)
That we would get a more minimal form. But I cannot verify in what form the lambda expression in the PDF is. It just seems unbelievably large to me.