Original post

sync.Once exports the Do(f func()) method that allows a single execution of a function under many concurrent requests. If I create a type of my own with an exported method:
Do(f func() interface) interface which does exactly the same thing but additionally returns a value, then what is a good name for such a struct? I thought that Once is a good struct name since helpers.Once can be recognized different from sync.Once by the package name. But I received pushback on my code saying that similar names can cause confusion.

What are your thoughts about this?