Generalized supertype constraints

I ran into a similar problem for which this would be a great solution, so allow me to revive this thread.

It seems the feedback so far has been mostly positive, and I agree with the (quite well-written) wording on @anandabits' pull request.

What would be the next step? Does the pull request need to be updated (due to possible changes in master since then)? If not, should we maybe ping someone from the core team to help get this merged?