should we additionally check for ``__toString()``?