Make lifetime elision help more useful on type signatures.

Fixes #19707.

In terms of output, it currently uses the form `argument #1`, `argument #2`, etc. If anyone has any better suggestions I would be glad to consider them.
nit: please add spaces around the `->` and after the first `:`