Add typing to the codebase
Python typing is a good way to rapidly check for coding issue while developing and it also allows to generate documentation with types automatically.
It's a good first issue for someone who wants to contribute to PL.