Let me be clear, in the case where you don't want to mix different behaviours the use of a context manager is overkill and leads to clutter. A simple flag is easy to understand and easy to ignore (low complexity, high readability) and easy to remove when it's no longer needed (easy maintenance). Bottom line - we need to encourage simplicity, with the context manager there as a fallback for when the simple solution doesn't cut it.