have both, W and Y return functions that do role "lambda" (and also role "name")
ListADT: make $foldl and $reverse scalar constants, implement foldl using Y combinator, add tests
add TODO re Ackermann function
Merge branch 'master' of https://github.com/meisl/lambda
Merge branch 'master' of https://github.com/meisl/lambda
Merge branch 'master' of https://github.com/meisl/lambda
Merge branch 'master' of https://github.com/meisl/lambda
Merge branch 'master' of https://github.com/meisl/lambda
Merge branch 'master' of https://github.com/meisl/lambda
simplify Boolean _and and _or (basically: inling what _if does) - they aren't really postponing eval'ion of their args in and of themselves anyways (which is why I named them with underscores in front)