Fix infinite recursive template instantiation (clang)