             // We only have well-formed UTF16 in this string, so the
             // successor points to a trailing surrogate of a pair and
             // thus shouldn't convert to a UTF8 position
-            expectEmpty(u16i0a.successor().samePosition(in: u8))
+            expectEmpty(u16.successor(of: u16i0a).samePosition(in: u8))
           }
           
           dsa = dsa.advanced(by: 1) // we're moving off the beginning of a new Unicode scalar

        for n1 in 0..<8 {
          expectEqual(u8i0b, u8i1b, sameValue: n0 == n1 ? (==) : (!=))
          if u8i1b == u8.endIndex { break }
          u8i1b = u8i1b.advanced(by: 1)
        }
        if u8i0b == u8.endIndex { break }
        u8i0b = u8i0b.advanced(by: 1)
      }
    }
  }

  
  expectEqual(
    String.UTF8Index(abc.startIndex, within: abc.utf8).successor(),
    String.UTF8Index(abc.successor(of: abc.startIndex), within: abc.utf8))

  let diverseCharacters = summer + winter + winter + summer
  let s = diverseCharacters.unicodeScalars
