         testClass.doWeirdStuffWith(string: "hi", int: 5)
         
         // then
-        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: String.self, option: .NonOptional)]).success).to(beTrue(), description: "should SUCCEED to call function with instance of String with optional requirement 'non-optional' argument")
-        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: Int.self, option: .NonOptional)]).success).to(beFalse(), description: "should FAIL to call function with instance of Int with optional requirement 'non-optional' argument")
-        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: [Argument.Anything, Argument.InstanceOfWith(type: Int.self, option: .NonOptional)]).success).to(beFalse(), description: "should FAIL to call function with 'dont care' and instance of Int with optional requirement 'non-optional' arguments")
+        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: String.self, option: .NonOptional)]).success).to(beTrue(), description: "should SUCCEED to call function with 'instance of String' argument")
+        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: Int.self, option: .NonOptional)]).success).to(beFalse(), description: "should FAIL to call function with 'instance of Int' argument")
+        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: [Argument.Anything, Argument.InstanceOfWith(type: Int.self, option: .NonOptional)]).success).to(beFalse(), description: "should FAIL to call function with 'anything' and 'instance of Int' arguments")
     }
     
     func testInstanceOfWithArgumentOptionalArgumentOption() {

        
        // then
        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOf(type: String.self)]).success)
            .to(beTrue(), description: "should SUCCEED to call function with instance of String argument")
        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOf(type: Int.self)]).success)
            .to(beFalse(), description: "should FAIL to call function with instance of Int argument")
        
        let expectedArgs1: Array<GloballyEquatable> = [Argument.InstanceOf(type: Optional<String>.self), Argument.InstanceOf(type: Optional<Int>.self)]
        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs1).success)
            .to(beTrue(), description: "should SUCCEED to call function with instance of String? and Int? arguments")
        let expectedArgs2: Array<GloballyEquatable> = [Argument.InstanceOf(type: String.self), Argument.InstanceOf(type: Int.self)]
        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs2).success)
            .to(beFalse(), description: "should FAIL to call function with String and Int arguments")
    }
    
    func testInstanceOfWithArgumentAnythingArgumentOption() {

        
        // then
        expect(testClass.didCall(function: "doCrazyStuffWith(object:)", withArguments: [Argument.KindOf(type: NSObject.self)]).success)
            .to(beTrue(), description: "should SUCCEED to call function with 'kind of NSObject' argument")
        expect(testClass.didCall(function: "doCrazyStuffWith(object:)", withArguments: [Argument.KindOf(type: SubClass.self)]).success)
            .to(beTrue(), description: "should SUCCEED to call function with 'kind of SubClass' argument")
        expect(testClass.didCall(function: "doCrazyStuffWith(object:)", withArguments: [Argument.KindOf(type: SubSubClass.self)]).success)
            .to(beFalse(), description: "should FAIL to call function with 'kind of SubSubClass' argument")
    }
        
    // MARK: Did Call - Recorded Calls Description Tests
