docs: def to_equivalent(self, unit, equivalence, **kwargs):
          """
          Return a copy of the unyt_array in the units specified units, assuming
          the given equivalency. The dimensions of the specified units and the
          dimensions of the original array need not match so long as there is an
          appropriate conversion in the specified equivalency.
  
          Parameters
          ----------
          unit : string
              The unit that you wish to convert to.
          equivalence : string
              The equivalence you wish to use. To see which equivalencies are
              supported for this unitful quantity, try the
              :meth:`list_equivalencies` method.
  
          Examples
          --------
          >>> from unyt import K
          >>> a = 1.0e7*K
          >>> print(a.to_equivalent("keV", "thermal"))
          0.8617332401096504 keV
          """
          conv_unit = Unit(unit, registry=self.units.registry)
          if self.units.same_dimensions_as(conv_unit):
              return self.in_units(conv_unit)
          this_equiv = equivalence_registry[equivalence]()
          if self.has_equivalent(equivalence):
              new_arr = this_equiv.convert(self, conv_unit.dimensions, **kwargs)
              return new_arr.in_units(conv_unit)
          else:
              raise InvalidUnitEquivalence(equivalence, self.units, unit)