Some headers in detail seem to only be used in the library implementation (i.e. the .cpp files). I think these should be under src/ to avoid being distributed when installed, even if they are used in the tests. I've found this out while trying to add C++20 module support to the library, where the mental model for headers in the interface unit and the implementation units is different.
Would you be open to a PR applying the changes I suggest?