Big upgrade that adds type hints to methods and arguments and has many refactorings.
Additionally:
- updated all tests and added new tests to cover more functionality;
- refactored everything to fit PSR-12;
- now using strict_types=1 everywhere;
- improved code almost everywhere;
- upgraded record value formatters.