docs: def empty_clone(self, binning=None, axis=0, type=None, **kwargs):
          """
          Return a new empty histogram. The binning may be modified
          along one axis by specifying the binning and axis arguments.
          If binning is False, then the corresponding axis is dropped
          from the returned histogram.
          """
          ndim = self.GetDimension()
          if binning is False and ndim == 1:
              raise ValueError(
                  "cannot remove the x-axis of a 1D histogram")
          args = []
          for iaxis in range(ndim):
              if iaxis == axis:
                  if binning is False:
                      # skip this axis
                      continue
                  elif binning is not None:
                      if hasattr(binning, '__iter__'):
                          binning = (binning,)
                      args.extend(binning)
                      continue
              args.append(list(self._edges(axis=iaxis)))
          if type is None:
              type = self.TYPE
          if binning is False:
              ndim -= 1
          cls = [Hist, Hist2D, Hist3D][ndim - 1]
          return cls(*args, type=type, **kwargs)