@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.