public function evaluate($actual)
    {
        $matcherResult = $this->matcher->match($actual);
        $expected = $this->negated ? false : true;

        $result = $matcherResult === $expected;

        return new Result($actual, $this->negated, $this->matcher, $result);
    }