One of the possibilities to introduce a customization point in a library is through ADL (Argument Dependent Lookup). With C++20 concepts, this approach got much cleaner.
A Niebloid combined with a concept that detects the presence of custom implementation can handle the fallback to default implementation without the need to fiddle with namespaces on the calling site.
Compiler Explorer link: https://compiler-explorer.com/z/r3vcaPWM6
@simontoth "I miss SFINAE" ... nobody said ever