The real example of a health check trait really brings this issue to life, it’s linked within op’s article as well
Is this a reasonable summary?
Say you want a trait where a method returns a task that you would like to sometimes run within your own thread and sometimes move it to a separate thread to be executed, that means the Send constraint isn’t necessary to add to your trait but it would be nice to add that constraint within another method’s parameter definition so that it can accept structs that implement the trait and further constrain that implementation to be Send’able. That’s now possible with this new rust language feature, though it was previously possible through a crate, now it’s no longer needed.
Leetcode is a great way to polish your skills. When I was your age, I read programming books and made projects I cared about, it’s turned out very well.
I’ve helped a few others learn programming, practice and working on any project at all always help more than anything.