Comment
Comment by unlinked_dll
Rust uses the "turbo fish" to get around this. Your example wouldn't compile unless a and b where valid variable names.
Is how you instantiate a generic. It's not that ugly. Bigger problem is value type generics/const generics where you want to do some logic like