docs: def compatible_shape(self, shape):
          """Determine whether `shape` is compatible with the (possibly
          variable-sized) shape for this descriptor"""
          if len(shape) != len(self.shape):
              return False
          for x, y in zip(self.shape, shape):
              if x is not None and x != y:
                  return False
          return True