テンプレート関数をhppに宣言cppに実装と分けてしまうと罠にハマる
https://qiita.com/i153/items/38f9688a9c80b2cb7da7
書いてあるとおり、対策としては
実装もヘッダに書く
実装側で使用する具象型を用いた実装定義を書く
になるが、後者の方は正直自分の思った用途(暗黙的インターフェース実装)を考えた時にまるで無意味なので不採用。
ヘッダが大きくなるのが気になるが、実装をヘッダ側に書くしかないっぽい。