I am not sure. I think that descriptive identifiers can indicate the type and be augmented by documentation.
They can. But both tend to get out of date as a codebase develops. It's very useful to have an automated tool that ensures the documentation lines up with the actual code - i.e. a type checker.
https://www.dartlang.org/articles/style-guide/#type-annotati...