lib.h and lib.cpp is the library we use to control devices we use for scientific research. Each device has a featherboard that will be running the library. Different groups are extending their use to be able to communicate to other boards via serial using A0 because that's the only pin available to do so (e.g., we developed integration with a raspberry pi).
Different groups have their solutions working quite nicely for our intended standards, but we had to tweak SoftwareSerial a bit, which is also not included in lib. The differences for different device communication purposes are not large enough that merit splitting into two libraries (we would like to stay as one, keep the code base unified as it has been so far). However, we now have different flavors of SoftwareSerial.h and SoftwareSerial.cpp to communicate with different boards.
This happened because development was done in parallel and trying to make it work independently might have created this issue.
We could try to make a unified version that handles both use cases, although there are conflicts and it would be developing again (when we have functional "independent" products).
If possible, we would like to push an update to the library that just asks users to modify minimal things in their sketches. Telling them "put these 4 files in all the folders with your .ino and forget about using the <lib.h> that you actually installed" is not what we are aiming for.