IO exists!

Ready for review!

Basic framework for the IO subpackage. Still need to add docstrings.
use `cls=None`