cache substitutions inside of environment for speed. no longer environment and substitution separately. fix several case optimizations.
cache substitutions inside of environment for speed. no longer environment and substitution separately. fix several case optimizations.

darcs-hash:20060411113722-1a7c6-edf5c1a44a571d5f419c0b3fc80dcf15c8127a61

jimcrayne/jhc,jimcrayne/jhc,jimcrayne/jhc,jimcrayne/jhc