code: def keys(self, full_grid=False):
          
          keys = super(GridSpace, self).keys()
          if self.ndims == 1 or not full_grid:
              return keys
          dim1_keys = sorted(set(k[0] for k in keys))
          dim2_keys = sorted(set(k[1] for k in keys))
          return [(d1, d2) for d1 in dim1_keys for d2 in dim2_keys]
docs: Returns the keys of the GridSpace
  
          Args:
              full_grid (bool, optional): Return full cross-product of keys
  
          Returns:
              List of keys