     } catch let error {
     
         if let typeMismatchError = error as? TypeMismatchError {
-            print("*ERROR* decoding, type \(typeMismatchError.receivedType) mismatched, expected \(typeMismatchError.expectedType) type")
+            print("*ERROR* decoding, type \(typeMismatchError.receivedType) mismatched, expected \(typeMismatchError.expectedType) type, path: \(typeMismatchError.path)")
             result = Result(error: DataParseErrorKind.MalformedSchema)
         } else if let missingKeyError = error as? MissingKeyError {
             print("*ERROR* decoding, key \(missingKeyError.key) is missing")

//MARK: Foundation Types

extension NSDate : Decodable {
    public class func decode(j: AnyObject) throws -> Self {
        
        guard let epochTime = j as? Double else {
            throw TypeMismatchError(expectedType: String.self, receivedType: j.dynamicType, object: j)
        }
        
        return self.init(timeIntervalSince1970: epochTime)
    }
}

    } catch let error {
        
        if let typeMismatchError = error as? TypeMismatchError {
            print("*ERROR* decoding, type \(typeMismatchError.receivedType) mismatched, expected \(typeMismatchError.expectedType) type, path: \(typeMismatchError.path)")
            result = Result(error: DataParseErrorKind.MalformedSchema)
        } else if let missingKeyError = error as? MissingKeyError {
            print("*ERROR* decoding, key \(missingKeyError.key) is missing")
