i add them whenever i see phpstorm indicating it can't know the class of something. most of the time its not needed: if we call a method of a known class that is properly documented, phpstorm knows what we get back and acts accordingly. or we just pass the unknown thing we get to a typehinted method, where again phpstorm knows what should go on. its only cases like here where it makes a difference.