The lesson of "algebra before syntax" is one that I have seen before, and it is very gratifying to see it pay off such dividends here.
There is also discussion on LtU here: http://lambda-the-ultimate.org/node/5393
There is also discussion on LtU here: http://lambda-the-ultimate.org/node/5393