I did have a shot at splitting them up, but the templates came around to bite me in the behind. After a bit of research, you can't define templates in CPP files. I did read that leaving the definitions for the template can bloat your code size (although I don't know enough to know why). Although it does solve the issue. The other solution was something to do with defining all of the template specialisations that will be used specifically inside the cpp. Which if you ask me, kind of defeats the point of using templates in the first place, no? To avoid function overloads? ![]()