The use case I have is for plugins that have configuration to be able to get user input. Here is an example: https://ofek.dev/msgspec-click/usage/#example In the example, global state is modified which is bad for test scenarios.