Basically to avoid polluting symbol namespace without having to have very long function names. Also it gives the compiler a good chance of inlining without having to resort to LTO.
Eventually I might do some "make dist" thing that just concats it all into one amalgamation file similar to projects like Sqlite and Duktape.