         throw Error.cantInitFromRawValue
     }
     
-    public func from<T: RawRepresentable where T.RawValue: Convertible>(key: String) throws -> T {
-        let rawValue: T.RawValue = try unwrap(interchangeData[key].flatMap(T.RawValue.fromCustomInterchangeData))
-        if let value = T(rawValue: rawValue) {
-            return value
-        }
-        throw Error.cantInitFromRawValue
-    }
+    // public func from<T: RawRepresentable where T.RawValue: Convertible>(key: String) throws -> T {
+    //     let rawValue: T.RawValue = try unwrap(interchangeData[key].flatMap(T.RawValue.fromCustomInterchangeData))
+    //     if let value = T(rawValue: rawValue) {
+    //         return value
+    //     }
+    //     throw Error.cantInitFromRawValue
+    // }
     
     public func from<T: Mappable>(key: String) throws -> T {
         if let nestedInterchange = interchangeData[key] {

    public enum Error: ErrorProtocol {
        case cantInitFromRawValue
        case noInterchangeData(key: String)
    }
    
    public init(interchangeData: InterchangeData) {

    }
    
    public func from<T: RawRepresentable>(key: String) throws -> T {
        guard T.self != Int.self else {
            throw Error.rawIntNotSupported
        }
        let rawValue: T.RawValue = try interchangeData.get(key)
        if let value = T(rawValue: rawValue) {
            return value
