I just come to think of a weird behavior of the current API. If you compare integer `3` and string `"3"` with the `EqualTo` constraint and `strict` set to `true`, you'll get something like the message:

```
This value should be equal to 3.
```

which is obviously weird, because the value *is* 3. Should we, instead of the `strict` option, create two separate `EqualTo` and `IdenticalTo` constraints with different messages? ("should be equal to" vs. "should be identical to") Also, `IdenticalToValidator` should not simply cast a value to a string, but somehow enclose the type information as well (either by using `var_export()` [1] and/or by prepending the type [2])

[1] `This value should be identical to "3"`
[2] `This value should be identical to string "3"`