memoize impl() results