docs: def unchunk(self):
          """
          Reconstitute the chunked array back into a full ndarray.
  
          Returns
          -------
          ndarray
          """
          if self.padding != len(self.shape)*(0,):
              shape = self.values.shape
              arr = empty(shape, dtype=object)
              for inds in product(*[arange(s) for s in shape]):
                  slices = []
                  for i, p, n in zip(inds, self.padding, shape):
                      start = None if (i == 0 or p == 0) else p
                      stop = None if (i == n-1 or p == 0) else -p
                      slices.append(slice(start, stop, None))
                  arr[inds] = self.values[inds][tuple(slices)]
          else:
              arr = self.values
  
          return allstack(arr.tolist())