the need to rely on IDE or to inspect implementation in order to understand what is the actual return type
unintended actual return type due to some implementation bug. E.g. one logic branch returns SomeType, another logic branch returns SomeOtherType => actual return type may be AnyRef, while SomeType was actually intended. If return type is specified explicitly, such a situation would result in a compilation error, otherwise not.
At least for public methods, prefer this:
to this:
in order to avoid: