code: def append(self, other):
          
          try:
              return numpy.append(self, other).view(type=self.__class__)
          except TypeError:
              # see if the dtype error was due to string fields having different
              # lengths; if so, we'll make the joint field the larger of the
              # two
              str_fields = [name for name in self.fieldnames
                            if _isstring(self.dtype[name])]
              # get the larger of the two
              new_strlens = dict(
                  [[name,
                    max(self.dtype[name].itemsize, other.dtype[name].itemsize)]
                   for name in str_fields]
              )
              # cast both to the new string lengths
              new_dt = []
              for dt in self.dtype.descr:
                  name = dt[0]
                  if name in new_strlens:
                      dt = (name, self.dtype[name].type, new_strlens[name])
                  new_dt.append(dt)
              new_dt = numpy.dtype(new_dt)
              return numpy.append(
                  self.astype(new_dt),
                  other.astype(new_dt)
                  ).view(type=self.__class__)
docs: Appends another array to this array.
  
          The returned array will have all of the class methods and virutal
          fields of this array, including any that were added using `add_method`
          or `add_virtualfield`. If this array and other array have one or more
          string fields, the dtype for those fields are updated to a string
          length that can encompass the longest string in both arrays.
  
          .. note::
              Increasing the length of strings only works for fields, not
              sub-fields.
  
          Parameters
          ----------
          other : array
              The array to append values from. It must have the same fields and
              dtype as this array, modulo the length of strings. If the other
              array does not have the same dtype, a TypeError is raised.
  
          Returns
          -------
          array
              An array with others values appended to this array's values. The
              returned array is an instance of the same class as this array,
              including all methods and virtual fields.