both are needed in such case to avoid casting to string when the class implements ``__call``.

But anyway, I don't think it is needed given that making ``__toString`` non public triggers a warning (and a Fatal error in HHVM): http://3v4l.org/FY1dE