On "making dcl on the fly" ... maintaining code and packaging code are distinctly different activities. Both are easy, enjoyable -- fun even. My maintained code is miles from ugly. On the other hand packaged code does not get scrutinized for aesthetics but for reliability, robustness ease of distribution etc. But alas, I evangelize fruitlessly.