I think that is for the best. I prefer less implicit behaviour in my code, even if it means my identifiers get longer.
Less implicit means safer but also more verbose and more cumbersome to write.
Rust priorities safety over everything else, also over productivity too in some case.
Absence of function overloading and automatic type conversion is a good example of that in Rust.
Is it the right choice ? Only time and multi-million line codebase will tell us.