Using Python3.6+ type annotations would require documenting and refactoring, as requested in #40
Using Python3.6+ type annotations would require documenting and refactoring, as requested in #40