code: def shape(cls, dataset):
          
          if not dataset.data:
              return (0, len(dataset.dimensions()))
  
          rows, cols = 0, 0
          ds = cls._inner_dataset_template(dataset)
          for d in dataset.data:
              ds.data = d
              r, cols = ds.interface.shape(ds)
              rows += r
          return rows+len(dataset.data)-1, cols
docs: Returns the shape of all subpaths, making it appear like a
          single array of concatenated subpaths separated by NaN values.