docs: def column_list(tables, columns):
      """
      Take a list of tables and a list of column names and return the columns
      that are present in the tables.
  
      Parameters
      ----------
      tables : sequence of _DataFrameWrapper or _TableFuncWrapper
          Could also be sequence of modified pandas.DataFrames, the important
          thing is that they have ``.name`` and ``.columns`` attributes.
      columns : sequence of str
          The column names of interest.
  
      Returns
      -------
      cols : list
          Lists of column names available in the tables.
  
      """
      columns = set(columns)
      foundcols = tz.reduce(lambda x, y: x.union(y), (set(t.columns) for t in tables))
      return list(columns.intersection(foundcols))