As title says, what are your favourite ways to deal with functions/types which are central to the functionality of a package but for which the best name carry a high risk of collisions? Concrete examples in my case are functions called
Some options I can think of:
- Just go ahead an export them anyways
- Don’t export them but declare them public API in the documentation and recommend that people import them
- Try to rename them into something less prone to collisions
I suppose 1. is less attractive if there are a lot of other exported functions as it becomes cumbersome to import everything.
I’m also a bit uncertain about the value of exporting things. In my mind it helps a little bit with discovery, but tbh I have never really made use of this myself. I know there is some advice out there to just never use
using in a module and instead import exactly what is being used or just refer to things by namespace.