This closely resembles implicit conversion from C++ and in many serious codebases it is considered poor practice because it leads to a lot of hidden control flow.
I think Rust strikes a nice balance but there’s enough magic that some people still get frustrated. Following traits can get tedious at times.