code: def from_product(cls, iterables, sortorder=None, names=None):
          from pandas.core.arrays.categorical import _factorize_from_iterables
          from pandas.core.reshape.util import cartesian_product
          if not is_list_like(iterables):
              raise TypeError("Input must be a list / sequence of iterables.")
          elif is_iterator(iterables):
              iterables = list(iterables)
          codes, levels = _factorize_from_iterables(iterables)
          codes = cartesian_product(codes)
          return MultiIndex(levels, codes, sortorder=sortorder, names=names)