             assert(count <= MemoryLayout<Buffer>.size)
 #if arch(x86_64) || arch(arm64) || arch(s390x) || arch(powerpc64) || arch(powerpc64le)
             bytes = (UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0))
-#elseif arch(i386) || arch(arm)
+#elseif arch(i386) || arch(arm) || arch(arm64_32)
             bytes = (UInt8(0), UInt8(0), UInt8(0), UInt8(0),
                      UInt8(0), UInt8(0))
+#else
+    #error ("Unsupported architecture: initialization for Buffer is required for this architecture")
 #endif
             length = UInt8(count)
         }

        @usableFromInline
        typealias Buffer = (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8,
                            UInt8, UInt8, UInt8, UInt8, UInt8, UInt8) //len  //enum
        @usableFromInline
        var bytes: Buffer
#elseif arch(i386) || arch(arm)
        @usableFromInline
        typealias Buffer = (UInt8, UInt8, UInt8, UInt8,
                            UInt8, UInt8) //len  //enum
        @usableFromInline
        var bytes: Buffer
#endif
        @usableFromInline
        var length: UInt8


#if arch(x86_64) || arch(arm64) || arch(s390x) || arch(powerpc64) || arch(powerpc64le)
    @usableFromInline
    internal typealias HalfInt = Int32
#elseif arch(i386) || arch(arm) || arch(arm64_32)
    @usableFromInline
    internal typealias HalfInt = Int16
#else
    #error ("Unsupported architecture: a definition of half of the pointer sized Int needs to be defined for this architecture")
#endif

    @usableFromInline
