true * * `foo` can be cast to `int` * —> false */ public function canCast(mixed $value): bool; /** * Returns the given value casted to this type. Note that the method * `canCast()` must have been called before. */ public function cast(mixed $value): bool|string|int|float; public function errorMessage(): ErrorMessage; }