Хочу сделать динамически загружаемую библиотеку, содержащую много вариантов инстанцирований ряда шаблонных функций. Часть функций отличается сигнатурами в зависимости от параметров шаблона, часть — только реализацией. Как такое правильно провернуть? Делать макросами обертки для каждого варианта или можно менее костыльно?