we should support generator_functions as providers, so they can perform setup/cleanup before provision ```python def provide_something() -> Iterator[Something]: try: yield Something() finally: ... # cleanup ```
we should support generator_functions as providers, so they can perform setup/cleanup before provision