Hello I have a possible documentation error, and a question. Both relate to `concept` s and I have what I think is a MWE: type A* = concept a a.f() is a type B* = object b: bool proc f(b: B): B = result = b echo B is A
The following statement in the [Nim manual](https://nim-lang.org/docs/manual.html#generics-concepts), especially the words in bold... > The identifiers following the concept keyword represent instances of the > currently matched type. These instances can act ... **as the type itself when > used in contexts where a type is expected.** ...make me think the code above should echo `true`, but it echoes `false` instead. It does echo `true` when I change `a` to `type(a)`. I sort-of get why that should fail, but I think the documentation a bit misleading there: `a` itself cannot actually act as the type. IMHO this is the possible documentation error. It also echoes `false` if I change `a.f() is a` to `a.f() is A`. I sort-of get that, but since B satisfies A, shouldn't that also echo `true`? What am I missing?