To eat our own dogfood here, the sources should be wrapped in a namespace to minimize the chances of ODRVs happen. For source-level structures and algorithms, they should be wrapped in an anonymous namespace (I believe most - but maybe not all - already are.)