I propose combining the code and tests and restructuring the extension code.
One of the reasons:
The current package structure makes it hard to get coverage for the project.
Although we test the types in the common/ package to some extent, the coverage tool cannot cover them. This is because the tests are in tests/ while their tests are in common/. To do that, we need to use -coverpkg all the time.
This problem makes our jobs more complicated to create new tests and see what we are improving.