         }
     }
     
-    case InvalidInput([InvalidInputError])
+    case InvalidInput([UnboxValueError])
     /// Thrown when a piece of data (NSData) could not be unboxed because it was considered invalid
     case InvalidData
     /// Thrown when a custom unboxing closure returned nil

            return
        }
        
        var inputErrors = [InvalidInputError]()
        
        for failure in failureInfo {
            if let failedValue: Any = failure.value {
                inputErrors.append(.InvalidValue(failure.key, "\(failedValue)"))
            }
            else {
                inputErrors.append(.MissingKey(failure.key))
            }
        }
        

    }
    
    /// Thrown when a required key was missing in an unboxed dictionary. Contains the missing key.
    case MissingValueForKey(String)
    /// Thrown when a required key contained an invalid value in an unboxed dictionary. Contains the invalid
    /// key and a description of the invalid data.
    case InvalidValue(String, String)
