caching in closure calculation