This article tackles a very limited form of type inference that is far less useful than global type inference.
The benefit of type inference is that there is less to write, which makes changes quicker to make.
Type inference does not preclude adding extra annotations if they would help.
A good ide will show you type annotations at all times, if you choose. No small actions are required.
I would say that there actually is a problem with global type inference. If two types do not match (e.g. usage and implementation of a function) then most systems do a poor job of guessing which part (or both!) is broken.
The benefit of type inference is that there is less to write, which makes changes quicker to make.
Type inference does not preclude adding extra annotations if they would help.
A good ide will show you type annotations at all times, if you choose. No small actions are required.
I would say that there actually is a problem with global type inference. If two types do not match (e.g. usage and implementation of a function) then most systems do a poor job of guessing which part (or both!) is broken.