diff --git a/http/utility.hpp b/http/utility.hpp
index 494b734..0cddb1c 100644
--- a/http/utility.hpp
+++ b/http/utility.hpp
@@ -314,27 +314,18 @@
     return true;
 }
 
-namespace details
-{
-inline boost::urls::url appendUrlPieces(
-    boost::urls::url& url, const std::initializer_list<std::string_view> args)
-{
-    for (std::string_view arg : args)
-    {
-        url.segments().push_back(arg);
-    }
-    return url;
-}
-
-} // namespace details
-
 class OrMorePaths
 {};
 
 template <typename... AV>
-inline void appendUrlPieces(boost::urls::url& url, const AV... args)
+inline void appendUrlPieces(boost::urls::url& url, AV&&... args)
 {
-    details::appendUrlPieces(url, {args...});
+    // Unclear the correct fix here.
+    // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-array-to-pointer-decay)
+    for (const std::string_view arg : {args...})
+    {
+        url.segments().push_back(arg);
+    }
 }
 
 namespace details
