Hard disagree. It's a contract between compiler and coder, and it needs to be exposed to both. Type information does not belong in names.
// For example, this:
fn get_driving_requirements(vehicle: Vehicle) -> String {
...
}
// Is just so much nicer than this:
fn get_driving_requirement_description_from_vehicle(vehicle) {
...
}
This is nicer for me (a human) to read, even if the compiler can infer the types of both.