inline auto& appendToImpl(std::string& mStr, T&& mA, TArgs&&... mArgs) { mStr += FWD(mA); return appendToImpl(mStr, FWD(mArgs)...); }
template<typename T, typename... TArgs> inline auto& appendToImpl(std::string& mStr, T&& mA, TArgs&&... mArgs) { mStr += fwd<T>(mA); return appendToImpl(mStr, fwd<TArgs>(mArgs)...); }