             return try Data(from: self)
 
         case .base64:
-            let container = SingleValueContainter(impl: self, codingPath: self.codingPath, json: self.json)
+            let container = SingleValueContainer(impl: self, codingPath: self.codingPath, json: self.json)
             let string = try container.decode(String.self)
 
             guard let data = Data(base64Encoded: string) else {

    }

    @usableFromInline func singleValueContainer() throws -> SingleValueDecodingContainer {
        SingleValueContainter(
            impl: self,
            codingPath: self.codingPath,
            json: self.json

}

extension JSONDecoderImpl {
    struct SingleValueContainer: SingleValueDecodingContainer {
        let impl: JSONDecoderImpl
        let value: JSONValue
        let codingPath: [CodingKey]
