   mutating func next() -> Decoder.Encoding.EncodedScalar? {
     switch decoder.parseOne(&codeUnits) {
     case let .valid(scalarContent): return scalarContent
-    case .invalid: return Decoder.replacement
+    case .invalid: return Decoder.Encoding.encodedReplacementCharacter
     case .emptyInput: return nil
     }
   }

extension UTF8.ReverseDecoder : _UTF8Decoder {
  public typealias Encoding = Unicode.UTF8

  public static var replacement : Encoding.EncodedScalar {
    return Encoding.EncodedScalar(_storage: 0xefbfbd, _bitCount: 24)
  }
  
  public static func decodeOne(_ source: Encoding.EncodedScalar) -> UnicodeScalar {
    return UTF8.ForwardDecoder.decodeOne(source)
  }

  
  public struct ForwardDecoder {
    public typealias Buffer = _UIntBuffer<UInt32, UInt16>
    public init() { buffer = Buffer() }
    public var buffer: Buffer
  }
  
  public struct ReverseDecoder {
    public typealias Buffer = _UIntBuffer<UInt32, UInt16>
    public init() { buffer = Buffer() }
    public var buffer: Buffer
  }
