cache empty hash on closure creation(!); don't cache value for proc that
already became unreachable