Cryptic "type F has one type parameter, but type F has one"

I suspect it’s due to the stability of the path t, because if you make it def or var your example works.

For sanity’s sake, I hope you aren’t generally writing methods like toAllOps like that (lifting type members to method type parameters) instead of with dependent method types.