docs: def mask(self, masklist):
          """
          `masklist` is an array of Bools or equivalent.
  
          This returns a new DataTable using only the rows that were True
          (or equivalent) in the mask.
          """
          if not hasattr(masklist, '__len__'):
              masklist = tuple(masklist)
  
          if len(masklist) != len(self):
              raise Exception("Masklist length (%s) must match length "
                              "of DataTable (%s)" % (len(masklist), len(self)))
  
          new_datatable = DataTable()
          for field in self.fields:
              new_datatable[field] = list(compress(self[field], masklist))
          return new_datatable