Index: source/src/core/message/messages/BindProtocol.cpp
===================================================================
--- source.orig/src/core/message/messages/BindProtocol.cpp
+++ source/src/core/message/messages/BindProtocol.cpp
@@ -67,10 +67,16 @@ CBindProtocolMessage::CBindProtocolMessa
 
     m_data.emplace_back(HW_MESSAGE_MAGIC_TYPE_VARCHAR);
 
-    m_data.append_range(g_messageParser->encodeVarInt(protocol.length()));
-    m_data.append_range(protocol);
+    {
+        auto x = g_messageParser->encodeVarInt(protocol.length());
+        m_data.insert(m_data.end(), x.cbegin(), x.cend());
+    }
+    m_data.insert(m_data.end(), protocol.cbegin(), protocol.cend());
 
-    m_data.append_range(std::vector<uint8_t>{HW_MESSAGE_MAGIC_TYPE_UINT, 0, 0, 0, 0});
+    {
+        auto x = std::vector<uint8_t>{HW_MESSAGE_MAGIC_TYPE_UINT, 0, 0, 0, 0};
+        m_data.insert(m_data.end(), x.cbegin(), x.cend());
+    }
 
     std::memcpy(&m_data[m_data.size() - 4], &version, sizeof(version));
 
Index: source/src/core/message/messages/FatalProtocolError.cpp
===================================================================
--- source.orig/src/core/message/messages/FatalProtocolError.cpp
+++ source/src/core/message/messages/FatalProtocolError.cpp
@@ -61,7 +61,10 @@ CFatalErrorMessage::CFatalErrorMessage(S
         std::memcpy(&m_data[2], &obj->m_id, sizeof(obj->m_id));
     std::memcpy(&m_data[7], &errorId, sizeof(errorId));
 
-    m_data.append_range(g_messageParser->encodeVarInt(msg.size()));
-    m_data.append_range(msg);
+    {
+        auto x = g_messageParser->encodeVarInt(msg.size());
+        m_data.insert(m_data.end(), x.cbegin(), x.cend());
+    }
+    m_data.insert(m_data.end(), msg.cbegin(), msg.cend());
     m_data.emplace_back(HW_MESSAGE_MAGIC_END);
 }
Index: source/src/core/message/messages/HandshakeBegin.cpp
===================================================================
--- source.orig/src/core/message/messages/HandshakeBegin.cpp
+++ source/src/core/message/messages/HandshakeBegin.cpp
@@ -58,7 +58,10 @@ CHandshakeBeginMessage::CHandshakeBeginM
         HW_MESSAGE_MAGIC_TYPE_UINT,
     };
 
-    m_data.append_range(g_messageParser->encodeVarInt(versions.size()));
+    {
+        auto x = g_messageParser->encodeVarInt(versions.size());
+        m_data.insert(m_data.end(), x.cbegin(), x.cend());
+    }
 
     const size_t HEAD_SIZE = m_data.size();
 
Index: source/src/core/message/messages/HandshakeProtocols.cpp
===================================================================
--- source.orig/src/core/message/messages/HandshakeProtocols.cpp
+++ source/src/core/message/messages/HandshakeProtocols.cpp
@@ -57,11 +57,17 @@ CHandshakeProtocolsMessage::CHandshakePr
         HW_MESSAGE_MAGIC_TYPE_VARCHAR,
     };
 
-    m_data.append_range(g_messageParser->encodeVarInt(protocols.size()));
+    {
+        auto x = g_messageParser->encodeVarInt(protocols.size());
+        m_data.insert(m_data.end(), x.cbegin(), x.cend());
+    }
 
     for (const auto& p : protocols) {
-        m_data.append_range(g_messageParser->encodeVarInt(p.size()));
-        m_data.append_range(p);
+        {
+            auto x = g_messageParser->encodeVarInt(p.size());
+            m_data.insert(m_data.end(), x.cbegin(), x.cend());
+        }
+        m_data.insert(m_data.end(), p.cbegin(), p.cend());
     }
 
     m_data.emplace_back(HW_MESSAGE_MAGIC_END);
Index: source/src/core/wireObject/IWireObject.cpp
===================================================================
--- source.orig/src/core/wireObject/IWireObject.cpp
+++ source/src/core/wireObject/IWireObject.cpp
@@ -118,8 +118,14 @@ uint32_t IWireObject::call(uint32_t id,
             case HW_MESSAGE_MAGIC_TYPE_VARCHAR: {
                 data.emplace_back(HW_MESSAGE_MAGIC_TYPE_VARCHAR);
                 auto str = va_arg(va, const char*);
-                data.append_range(g_messageParser->encodeVarInt(std::string_view(str).size()));
-                data.append_range(std::string_view(str));
+                {
+                    auto x = g_messageParser->encodeVarInt(std::string_view(str).size());
+                    data.insert(data.end(), x.cbegin(), x.cend());
+                }
+                {
+                    auto x = std::string_view(str);
+                    data.insert(data.end(), x.cbegin(), x.cend());
+                }
                 break;
             }
 
@@ -130,7 +136,10 @@ uint32_t IWireObject::call(uint32_t id,
 
                 auto arrayData = va_arg(va, void*);
                 auto arrayLen  = va_arg(va, uint32_t);
-                data.append_range(g_messageParser->encodeVarInt(arrayLen));
+                {
+                    auto x = g_messageParser->encodeVarInt(arrayLen);
+                    data.insert(data.end(), x.cbegin(), x.cend());
+                }
 
                 switch (arrType) {
                     case HW_MESSAGE_MAGIC_TYPE_UINT:
@@ -153,8 +162,14 @@ uint32_t IWireObject::call(uint32_t id,
                     case HW_MESSAGE_MAGIC_TYPE_VARCHAR: {
                         for (size_t i = 0; i < arrayLen; ++i) {
                             const char* element = rc<const char**>(arrayData)[i];
-                            data.append_range(g_messageParser->encodeVarInt(std::string_view(element).size()));
-                            data.append_range(std::string_view(element));
+                            {
+                                auto x = g_messageParser->encodeVarInt(std::string_view(element).size());
+                                data.insert(data.end(), x.cbegin(), x.cend());
+                            }
+                            {
+                                auto x = std::string_view(element);
+                                data.insert(data.end(), x.cbegin(), x.cend());
+                            }
                         }
                         break;
                     }
@@ -233,7 +248,10 @@ void IWireObject::called(uint32_t id, co
     if (!method.returnsType.empty())
         params.emplace_back(HW_MESSAGE_MAGIC_TYPE_SEQ);
 
-    params.append_range(method.params);
+    {
+        auto x = method.params;
+        params.insert(params.end(), x.cbegin(), x.cend());
+    }
 
     if (method.since > m_version) {
         const auto MSG = std::format("method {} since {} but has {}", id, method.since, m_version);
Index: source/src/core/socket/SocketHelpers.cpp
===================================================================
--- source.orig/src/core/socket/SocketHelpers.cpp
+++ source/src/core/socket/SocketHelpers.cpp
@@ -42,7 +42,10 @@ SSocketRawParsedMessage Hyprwire::parseF
         if (sizeWritten < 0)
             return {.bad = true};
 
-        message.data.append_range(std::span<uint8_t>(buffer, sizeWritten));
+        {
+            auto x = std::span<uint8_t>(buffer, sizeWritten);
+            message.data.insert(message.data.end(), x.cbegin(), x.cend());
+        }
 
         // check for control
         cmsghdr* recvdCmsg = CMSG_FIRSTHDR(&msg);
