     case (1, 0): // 4-byte sequence, [ CU3 CU2 CU1 CU0 ].
       // Disallow xxxx xxxx  xxxx xxxx  xx00 xxxx  xxxx x000 (<= 16 bits case).
       if _slowPath(buffer & 0x00003007 == 0x00000000) { return (nil, 1) }
-      // Case xxxx xxxx  xxxx xxxx  xxxx xxxx  xxxx x1xx.
+      // If xxxx xxxx  xxxx xxxx  xxxx xxxx  xxxx x1xx.
       if buffer & 0x00000004 == 0x00000004 {
         // Require xxxx xxxx  xxxx xxxx  xx00 xxxx  xxxx xx00 (<= 0x10FFFF).
         if _slowPath(buffer & 0x00003003 != 0x00000000) { return (nil, 1) }

  ///   - length: The length of the code unit sequence in bytes if it is
  ///   well-formed; otherwise the *maximal subpart of the ill-formed
  ///   sequence* (Unicode 8.0.0, Ch 3.9, D93b), i.e. the number of leading
  ///   code units that were valid or 1 in case none were valid. Unicode
  ///   recommends to skip these bytes bytes and replace them by a single
  ///   replacement character (U+FFFD).
  ///

  /// Because of buffering, it is impossible to find the corresponding position
  /// in the generator for a given returned `UnicodeScalar` or an error.
  ///
  /// - parameter next: A generator of code units to be decoded.  Repeated
  /// calls to this method on the same instance should always reuse the same
  /// generator.  Failing to do so will result in undefined behavior.
  public mutating func decode<
