"я затрахаюсь на них все навешивать имплементацию одного и того же интерфейса" а в чем как бы у тебя "навешивание" осуществляется?
ну как, тут два варианта - либо навешивать один и тот же метод на все, либо во все структуры эмбедить еще одну внешнюю, которая реализует интерфейс