A container's type may include non-type template parameters, e.g.
QVarLengthArray<int, 32> container;
// ^^ NTTP
Accepting them with template <typename ...> typename Container will therefore fail:
QVector<int> vec{1, 2, 3, 4};
const auto toString = [](int i) { return QString::number(i); };
auto result = KDAlgorithms::transformed<QVarLengthArray>(vec, toString); // ERROR
For some reason this was a deliberate choice. But why simply using template <typename> typename Container doesn't work here?