contextmanager should be yielded