IO exists!

Ready for review!

Basic framework for the IO subpackage. Still need to add docstrings.
True but I would exhaust any generator anyways in `_override_kwargs` because I need to evaluate each kwarg during the override step. I think flatten is a bit more clear.