code: def get_shape(self, prune=False, hs_dims=None):
          
          if not prune:
              return self.as_array(include_transforms_for_dims=hs_dims).shape
  
          shape = compress_pruned(
              self.as_array(prune=True, include_transforms_for_dims=hs_dims)
          ).shape
          # Eliminate dimensions that get reduced to 1
          # (e.g. single element categoricals)
          return tuple(n for n in shape if n > 1)
docs: Tuple of array dimensions' lengths.
  
          It returns a tuple of ints, each representing the length of a cube
          dimension, in the order those dimensions appear in the cube.
          Pruning is supported. Dimensions that get reduced to a single element
          (e.g. due to pruning) are removed from the returning shape, thus
          allowing for the differentiation between true 2D cubes (over which
          statistical testing can be performed) and essentially
          1D cubes (over which it can't).
  
          Usage:
  
          >>> shape = get_shape()
          >>> pruned_shape = get_shape(prune=True)