Description
Due to small type inconsistencies one might fall into a trap where incompatible objects might still be auto-mangled into something that fits, but isn't right. One example of such a case just happened: ref #367. The docs clearly stated one thing, but passing in something completely different still worked, until the the last release. The public API was still the same, but the underlying implementation changed.
How do you feel about adding type checks, type hints, or similar annotations to help the user avoid such mistakes?
E.g.:
http://mypy-lang.org/
https://www.python.org/dev/peps/pep-0484/
https://docs.python.org/3/library/typing.html
and similar
I think, since python-hyper aims for Python 2 support as well, this might be a bit more difficult.