> don't understand the question
true...
> already can the concept demand a ==/hash operation to exist.
This was not the question. What I did with the example above: I linked a type
with `Self` that is not directly attached to `Self`.
Do you spot it now ?
type
ExU = concept
type U
proc aproc*(a: Self,v: U)
proc cproc*(v: U) : int # attached proc that does not belong to Self!
Run
The Link goes like this: `Self -> U -> cproc`
You can't do that with your proposal in RFC 380 and therefore, your
specificatin is not complete. What you are doing there: You attempt to build a
_naive (static) virtual table for a type_ . At the same time, it is a
simplified concept plus a prototypic implementation.
I did essentially the same with a `{.prototype.}` pragma in
<https://forum.nim-lang.org/t/7925> . It tells the compiler to build a static
vtable. It makes the things explicit for a specific type. Other types can be
attached too. However, they are not granular enough. Concepts are the more
general approach.