code: def concat(dfs):
      
      if isstr(dfs) or not hasattr(dfs, '__iter__'):
          msg = 'Argument must be a non-string iterable (e.g., list or tuple)'
          raise TypeError(msg)
  
      _df = None
      for df in dfs:
          df = df if isinstance(df, IamDataFrame) else IamDataFrame(df)
          if _df is None:
              _df = copy.deepcopy(df)
          else:
              _df.append(df, inplace=True)
      return _df
docs: Concatenate a series of `pyam.IamDataFrame`-like objects together