The return type ``++any++`` should be avoided because it prevents the type safety checks normally done by the compiler. When a function returns a primitive type (i.e. number, string or boolean) it is safe to replace ``++any++`` with ``++number++``, ``++string++`` or ``++boolean++`` type respectively, or remove the return type completely and let compiler infer it.
\[~jeanchristophe.collet] this description would be better if it included a hint about when ``++any++`` is acceptable, and about why boilerplate code is bad.