Add stringable-object pseudo type
This implements the stringable-object type that Psalm also supports. A notable difference is that on PHP 8 it is simply an alias for Stringable.
On top of this type a new rule is also implemented that guard against possibly-invalid object-to-string casts. This only really applies to the simple object type, for which the stringable-ness was not checked yet.
Do you see how we could get rid of StringAlwaysAcceptingObjectWithToStringType and these hacks? https://github.com/phpstan/phpstan-src/blob/7e9ab7231eed18aa4520b4031c6a32fe64bd24bb/src/Reflection/SignatureMap/NativeFunctionReflectionProvider.php#L109-L142
Do you see how we could get rid of StringAlwaysAcceptingObjectWithToStringType and these hacks?
Yep, working on it :)