Looks like this also works (might not have worked then, but it works with current Nim devel): proc foo(x: int) = echo x template bar(x) = echo x bar 10
And similarly (for future readers), this kind of usage also works, for non-procs: var a = 200 var b = addr a b[] = 300 echo a Though it's not entirely safe.