
Note that we need some kind of markup facility to deal with optional dependencies anyway - to avoid the "everything depends on Serialization" issue.
Circular dependencies won't work well with clang/c++17 'modules'. Strongly connected components form what I called 'incidental modules' in previous emails.
Find a way to convince Robert to allow splitting serialization.
That doesn't solve the issue I was referring to: namely library X depends on Y *only* if you're using Y anyway. Serialization being a prime example: many libraries "apparently" depend on it, but the dependency is only a true one if you're using serialization anyway. Such interoperability should be positively encouraged, but I fear package management may actively discourage it unless we make the packaging smarter. John.