docs: def fit(self, X, y=None):
          """Fit all transformers using X.
  
          Parameters
          ----------
          X : iterable or array-like, depending on transformers
              Input data, used to fit transformers.
  
          y : array-like, shape (n_samples, ...), optional
              Targets for supervised learning.
  
          Returns
          -------
          self : FeatureUnion
              This estimator
          """
          self.transformer_list = list(self.transformer_list)
          self._validate_transformers()
          with Pool(self.n_jobs) as pool:
              transformers = pool.starmap(_fit_one_transformer,
                          ((trans, X[trans['col_pick']] if hasattr(trans, 'col_pick') else X, y) for _, trans, _ in self._iter()))
          self._update_transformer_list(transformers)
          return self