More recent discussion: Unrestricting explicit declarations of function generics
I have a vague sense that someone found an actual difference between what would be allowed with functions vs what’s currently allowed if you fake it with a wrapper type, but I can’t find it now…