docs: def to_gufunc_string(self):
          """Create an equivalent signature string for a NumPy gufunc.
  
          Unlike __str__, handles dimensions that don't map to Python
          identifiers.
          """
          all_dims = self.all_core_dims
          dims_map = dict(zip(sorted(all_dims), range(len(all_dims))))
          input_core_dims = [['dim%d' % dims_map[dim] for dim in core_dims]
                             for core_dims in self.input_core_dims]
          output_core_dims = [['dim%d' % dims_map[dim] for dim in core_dims]
                              for core_dims in self.output_core_dims]
          alt_signature = type(self)(input_core_dims, output_core_dims)
          return str(alt_signature)