I like the way Rust has it a lot more but it is still imperfect and feels arbitrary in ways.
I find myself unsure where to put the templatization parameters and it doesn't feel perfectly symmetrical.
Unsure if impl MyType<T> where T: X
is comperable to impl MyType<T: X> Sometimes it needs impl<T> MyType<T> where T: X