>>106975389
I do not have problem with syntax per se, I don't care about such superficial things.
What I have problem with are all these hand-wavy /* whatever */ blanks in documentation that require reading text to figure out what are they trying to accomplish.
Rust has everything specified formally. I can see the concrete types, arguments, generic bounds, etc. Even if a function doesn't specify a concrete return type, it will be declared as fn name() -> impl Trait + Trait + Trait
which still precisely defines which (exclusively) kind of operations will be supported by the returned, instead of just being "whatever, figure it out yourself and pray the compiler will reject your code if you assume something wrong". Which is exactly what happened in OP code. I honestly doubt you can figure out what went wrong solely by looking at function definitions, without reading all the small print on each page.