You can have 1000 versions. As long as the function is mostly free of side effects, except whatever side effects are documented in a public interface, then you can scale the repository linearly without any real increase in complexity.
This is because while the namespace is wide, in practice you work within a “working set” of your daily use packages.