Even so, one would know at code writing time "this is a number of some sort" , "this will be a string of some sort", "I'm expecting a class in here", "this will be a collection".
If one uses a decent type system that has user defined types and interfaces then that gradual stuff disappears.
If one uses a decent type system that has user defined types and interfaces then that gradual stuff disappears.