That's a reasonable position, but the popularity of languages without any type declarations at all suggests that there are many people who don't mind. (python, ruby, etc.)
Anyway, they are talking about documentation. Many people think that having to peek inside a function to know what it returns is worse than having a compiler-checked type declaration. In fact, in most languages with type inference there is still a strong convention to write full signatures for all top level functions, as a form of documentation (return type inference is left for lambdas)
if (!arg1 || !arg2 || !arg3 ...) {
what_I_should_do_here_isnt_really_clear();func_call(&var1);
is most definitely a C++ convention bud, and it has nothing to do with google.
Not only did you need to use the type correctly, but you needed to declare the desire to use a specific type from the get-go.