imagine we have an ordinary generic proc:
proc genericProc[T](a: T): T =
discard
and this generic proc might be instantiated with different types.
If we want to get the proc's address, we need to tell the compiler which one of
those proc instances using generic specialization:
var s = [genericProc[int]] #get the genericProc's address with `int`
instance and put it into array
proc definition contains concept is another form of generic proc. If we want to
get the proc's address, there should be a mechanism to disambiguate which
instance that we need. But unfortunately, looks like there is nothing like
concept specialization.
the first issue:
var x = [proc_with_concept_address]
need some addition in the language specification describing concept
specialization.
the second issue:
var y = [some_concept]
perhaps this can be realized if the compiler put some restriction or constraint
on the types involved.
both issues need to be reported to nim's bugs tracker, perhaps someone
interested to fix it in the future.