When generalizing a binder whose type is a typeclass, its own class arguments are omitted from the syntax and are generalized using automatic names, without instance search. Other arguments are also generalized unless provided.
and reinforced by:
this behaviour may be disabled by prefixing the type with a ! or by forcing the typeclass name to be an explicit application using @ (however the later ignores implicit argument information).