Fix misuse of underscores.

It's a language bug, but M[_] <: Foo[_] does not mean what
anyone who writes it believes that it means. You have to give
the type parameter a name, like M[X] <: Foo[X].
Merge pull request #3413 from paulp/pr/future

Fix misuse of underscores.