Merge #10823
10823: fix: better `Fn` traits formatting r=jonas-schievink a=veber-alex
This makes it so formatting `Fn` traits properly handles:
1. An `Fn` trait with only a single argument -> removes the trailing comma.
2. An `Fn` trait which returns nothing (an empty tuple) -> don't show `-> ()` as the return type.
before:
![before](https://user-images.githubusercontent.com/29788806/142745038-44ac68ce-de42-4396-a809-ffdb883be699.png)
after:
![after](https://user-images.githubusercontent.com/29788806/142745040-485feaa2-cc21-4a05-9576-5410ea355029.png)
Co-authored-by: Alex Veber <[email protected]>