Implementing RawRepresentable, RawValue == String using Codable: keep it DRY for implementation of multiple types: did I do this right?

this?

extension Locale {
    static let en_us = Locale(identifier: "EN_US")
}

extension Decimal: RawRepresentable {
    public init?(rawValue: String) {
        self.init(string: rawValue, locale: .en_us)
    }
    public var rawValue: String {
        var v = self
        return NSDecimalString(&v, Locale.en_us)
    }
}

extension Date: RawRepresentable {
    public init?(rawValue: String) {
        fatalError("TODO")
    }
    public var rawValue: String {
        fatalError("TODO")
    }
}