I doubt modules will solve the issue.
To me the problem is that C++ places implementation details inside headers which spreads code changes around needlessly.
Minimal headers with 0 includes; only forward declarations and a namespace with functions works quite well.