+1. Несколько экземпляров функций принято делать, если они
отличаются кодом или типом параметров. Например в графических либах
такое делают. В том же OpenGL тысяча почти одинаковых функций,
пишут одну с кучей #ifdef, а потом её тысячу раз вставляют, обложив
разными #define
Не надо делать мне как лучше, оставьте мне как хорошо