You were looking for `var_export($this->lastValue, true)` since this will directly output the value. Additionally, since you are using double quotes, you could have added the type by doing `"Expected value: {$this}"`. If you are against that approach, because this has more clarity for someone who doesn't know the ins-and-outs of the Validator, please consider using `$this->type()` instead, as `__tostring()` simply wraps around `type()`.

My final rant about this is that the string will not represent an expected value, but rather an expected data type, possibly with constraints like length or an expression.

If I were to try and validate `(integer) 12` using the `Validator\String`, the message would say:

```
Invalid value: (12). Expected value: string:0,0
```

You can clearly see there how `string:0,0` is not a value, but a type with constraints. Coincidentally I could pass `'string:0,0'` to the String validator and it would pass, but this does not hold for the other validators, like `Validator\Date\Mysql`.

```
Invalid value: (12). Expected value: date_mysql:/^\d{4}\-\d{2}\-\d{2}$/
```

If I were to pass that along as a value, the validator would still return false.