docs: def encode(self, *args):
          """encode(value1[, ...]) -> bytes
  
          Encodes the given values to a sequence of bytes according to this
          Array's underlying element type
          """
          if len(args) != self.nelems:
              msg = 'ArrayType %s encode() requires %d values, but received %d.'
              raise ValueError(msg % (self.name, self.nelems, len(args)))
  
          return bytearray().join(self.type.encode(arg) for arg in args)