When I create a typeclass with a single method in the usual syntax, I can give it implicit parameters:
Class Foo1 := { foo1 {n} : Int n }.
But when I use the singleton syntax, I can't give it the implicit parameter
Fail Class Foo2 := foo2 {n} : Int n.
Error: Syntax error: '.' expected after [gallina] (in [vernac_aux]).
I can't even use Arguments to make that parameter implicit:
Class Foo3 := foo3 n : Int n.
Fail Arguments foo3 {n}.
The command has indeed failed with message: Flag "rename" expected to rename Foo3 into n.
Is there a reason for it to work this way?