Revert "Major refactoring on Typing, second try"

This reverts commit 6401ebed7e9c63caec83f3cf385598180b908686.
Revert "Major refactoring on Typing, second try"

This reverts commit 15b0ca12c4796591ce5bb224c0a4eb71b9b61695.