         
         // then
         let expectedArgs1: Array<GloballyEquatable> = [Argument.Anything, Argument.InstanceOfWith(type: Int.self, option: .Optional)]
-        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs1).success).to(beTrue(), description: "should SUCCEED to call function with 'dont care' and instance of Int with optional requirement 'optional' argument")
+        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs1).success).to(beTrue(), description: "should SUCCEED to call function with 'anything' and 'instance of Int?' arguments")
         let expectedArgs2: Array<GloballyEquatable> = [Argument.Anything, Argument.InstanceOfWith(type: String.self, option: .Optional)]
-        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs2).success).to(beFalse(), description: "should FAIL to call function with 'dont care' and instance of String with optional requirement 'optional' argument")
-        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: String.self, option: .Optional)]).success).to(beFalse(), description: "should FAIL to call function with instance of String with optional requirement 'optional' arguments")
+        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: expectedArgs2).success).to(beFalse(), description: "should FAIL to call function with 'anything' and 'instance of String?' arguments")
+        expect(testClass.didCall(function: "doStuffWith(string:)", withArguments: [Argument.InstanceOfWith(type: String.self, option: .Optional)]).success).to(beFalse(), description: "should FAIL to call function with 'instance of String?' arguments")
     }
     
     func testKindOfClassArgument() {

        testClass.doWeirdStuffWith(string: "hi", int: nil)
        
        // then
        expect(testClass.didCall(function: "doMoreStuffWith(int1:int2:)", withArguments: [Argument.Anything, Argument.Anything]).success).to(beTrue(), description: "should SUCCEED to call function with 1 and dont care")
        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: [Argument.Anything, Argument.Anything]).success).to(beTrue(), description: "should SUCCEED to call function with non-nil and dont care arguments")
    }
    
    func testNonNilArgument() {

        
        // then
        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: [Argument.Anything, Argument.Nil]).success)
            .to(beTrue(), description: "should SUCCEED to call function with 'anything' and 'nil' arguments")
        expect(testClass.didCall(function: "doWeirdStuffWith(string:int:)", withArguments: [Argument.Nil, Argument.Anything]).success)
            .to(beFalse(), description: "should FAIL to call function with 'nil' and 'anything' arguments")
    }
    
    func testInstanceOfArgument() {
