unsafe impl<'a> IsTokenRef<'a> for TokenRef<'a> {}
unsafe impl<'a> IsTokenRef<'a> for TokenMut<'a> {}
unsafe impl<'a> IsTokenMut<'a> for TokenMut<'a> {}
-unsafe impl<'a, A: IsTokenRef<'a>> IsTokenRef<'a> for &'a A {}
-unsafe impl<'r, 'a, 'aa, A> IsTokenRef<'r> for &'aa mut A
-where A: IsTokenMut<'a>, 'a: 'r, 'aa: 'r {}
-
-unsafe impl<'r, 'a, 'aa, A> IsTokenMut<'r> for &'aa mut A
-where A: IsTokenMut<'a>, 'a: 'r, 'aa: 'r {}
-
-impl Sealed for TokenRef<'_> {}
-impl Sealed for TokenMut<'_> {}
-impl Sealed for NoAliasSingleton {}
-impl<T: Sealed> Sealed for & T {}
-impl<T: Sealed> Sealed for &mut T {}
+unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i TokenRef<'j> {}
+unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i TokenMut<'j> {}
+unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i mut TokenMut<'j> {}
+unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenMut<'o> for &'i mut TokenMut<'j> {}
+
+impl Sealed for & NoAliasSingleton {}
+impl Sealed for &mut NoAliasSingleton {}
+impl Sealed for TokenRef<'_> {}
+impl Sealed for TokenMut<'_> {}
+impl Sealed for & TokenRef<'_> {}
+impl Sealed for & TokenMut<'_> {}
+impl Sealed for &mut TokenMut<'_> {}
//---------- principal API for borrowing etc. ----------