docs: def pack(self):
          """Pack the struct (and its default values) into a string of bytes.
  
          Returns
          -------
          :py:class:`bytes`
              Byte-string representation of struct containing default values.
          """
          # Generate a buffer big enough to hold the packed values
          data = bytearray(b"\x00" * self.size)
  
          # Iterate over the fields, pack each value in little-endian format and
          # insert into the buffered data.
          for field in six.itervalues(self.fields):
              packed_data = struct.pack(b"<" + field.pack_chars, field.default)
              data[field.offset:len(packed_data)+field.offset] = packed_data
  
          return bytes(data)