a cleaner implementation of the evaled method

there are two steps;
  skipping the cache
  setting the cache

we always skip setting the cache when it is frozen