docs: def get_col(self, col_name, filter = lambda _ : True):
          """Return all values in the column corresponding to col_name that satisfies filter, which is
          a function that takes in a value of the column's type and returns True or False
  
          Parameters
          ----------
          col_name : str
              Name of desired column
          filter : function, optional
              A function that takes in a value of the column's type and returns True or False
              Defaults to a function that always returns True
  
          Returns
          -------
          list
              A list of values in the desired columns by order of their storage in the model
  
          Raises
          ------
          ValueError
              If the desired column name is not found in the model
          """
          if col_name not in self._headers:
              raise ValueError("{} not found! Model has headers: {}".format(col_name, self._headers))
          col = []
          for i in range(self.num_rows):
              row = self._table[i + 1]
              val = row[col_name]
              if filter(val):
                  col.append(val)
  
          return col