<!-- Don't forget! - Most PRs would require a CHANGELOG entry. - If the PR adds or changes a behaviour or fixes a bug of an exported API it would need a unit/e2e test. - Where possible use only exported APIs for tests to simplify the review and make it as close as possible to an actual library usage. - No tests are needed for internal implementation changes. - Performance improvements would need a benchmark test to prove it. - All exposed objects should have a comment. - All comments should start with a capital letter and end with a full stop. -->