Per the spec, the underlying type of a type parameter is its constraint interface. Similarly to how we talk about an X type (say, an array type) if the underlying type of a named type is X, we also talk about interface types for type parameters. This is confusing.

Reminder issue to try clearer prose where needed.

See also @findleyr 's comment here.

Comment From: griesemer

Not going to touch this for 1.22.

Comment From: griesemer

Ditto for 1.23.