A-normalization & static caching, again

New attept on #2 & more.
> Special-case partial applications (@Toxaris, what do you think?).
Start implementing static caching, step 1: return all intermediate results. Now finally with code which starts being reasonable.

This has become the new master, de facto.