code: function() {
            // TODO: remove unshifting 
            expected.unshift(actual)
            this.result = matcher.match.apply(this, expected)
            this.passed = negate ? !this.result : this.result
            if (!this.passed) this.message = matcher.message.call(this, actual, expected, negate, matcher.name)
            return this
          }
docs: Run the assertion