Add experimental expression evaluation support. Optimized for the no-change
case through aggressive caching.