@Varriount. Looks like a tough question. At first I was tempted to say concepts
should obey the same scoping rules as variables do. After all, it's hardly a
surprise that the following snippet prints '10'.
var a = 5
proc tst() =
var a = 10
echo a
tst()
> g may be considered a Graph in the scope of print_route1, but not in the
> scope of sub-procedure calls
That made me realize what concepts already obey some kind of dynamic scoping.
Currently it's limited to modules, though. I don't know is it a good idea to
expand it to nested procedures. Not everyone is happy with that feature in
Lisp, afaik. Still it looks so nice and intuitive to be able to parametrize
_path_ in first example by just writing nested procs. Creating several separate
modules for such a tiny task looks like a total overkill.