Python now supports type hinting and it could be benificial to leverage this, capturing errors statically, rather than at runtime. #17 should also be extended to run [mypy](https://github.com/python/mypy), which statically checks the types.