the way `with` works would mean it always throws away the cache for each new `with` block,
so this caching would be very short-lived