Ну мб я резко написал, просто обычно не ожидаешь что .cpp файлы инклудятся, и ожидаешь что их надо собрать, для шаблонных обычно пишут .h/.hpp/.tpp
Не для образовательных целей нормально, ничего плохого не вижу
Ну я просто хотел общую структуру иметь в X.h файле, а реализацию в X.cpp. Шаблоны, как понимаешь, используя нормальные методы, в cpp не пихаются, поэтому пришлось использовать то, что нагуглил