     public static let base64 = ObjectEncoder.DataEncodingStrategy.custom {
         try $0.base64EncodedString().encode(to: $1)
     }
-
-    /// Encode the `Data` as a custom value encoded by the given closure.
-    ///
-    /// If the closure fails to encode a value into the given encoder,
-    /// the encoder will encode an empty automatic container in its place.
-    public static func custom(_ closure: @escaping Closure) -> ObjectEncoder.DataEncodingStrategy {
-        return .init(identifiers: identifiers, closure: closure)
-    }
-
-    private static let identifiers = [Data.self, NSData.self].map(ObjectIdentifier.init)
 }
 
 @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)

            }
        }
    }

    public static func custom(_ closure: @escaping Closure) -> ObjectEncoder.FloatEncodingStrategy {
        return .init(identifiers: identifiers, closure: closure)
    }

    private static let identifiers = [Float.self].map(ObjectIdentifier.init)
}

extension ObjectEncoder.EncodingStrategy where T == URL {

    ///
    /// If the closure fails to encode a value into the given encoder,
    /// the encoder will encode an empty automatic container in its place.
    public static func custom(_ closure: @escaping Closure) -> ObjectEncoder.EncodingStrategy<T> {
        return .init(closure: closure)
    }
}

