             }
         }
         
-        if let expectedNestedArray = expectedValue as? [AnyObject] {
-            if let actualNestedArray = actualValue as? [AnyObject] {
+        if let expectedNestedArray = expectedValue as? [Any] {
+            if let actualNestedArray = actualValue as? [Any] {
                 try Verify(array: actualNestedArray, againstArray: expectedNestedArray)
                 continue
             } else {

            throw VerificationError.missingValueForKey(key)
        }
        
        try VerifyValue(actualValue, againstValue: expectedValue)
        if let expectedNestedDictionary = expectedValue as? WrappedDictionary {
            if let actualNestedDictionary = actualValue as? WrappedDictionary {
                try Verify(dictionary: actualNestedDictionary, againstDictionary: expectedNestedDictionary)

            }
        }
        
        if let expectedNestedArray = expectedValue as? [Any] {
            if let actualNestedArray = actualValue as? [Any] {
                try Verify(array: actualNestedArray, againstArray: expectedNestedArray)
                continue
            } else {
