Но проблема в том что в расте нет перегрузки функций вот сижу думаю какой вариант лучше подойдет
Ах ты о перегрузке функций говоришь… ну так а трейты разве не решают проблему перегрузки функций частично? Они же по сути на структуру вешаются, у вас одна функция, но на разных данных, вот вам и перегрузка)