Or returning a closure from a proc
proc closeness(str:string):proc(s:string):string=
let greeting = str
return proc(s:string):string = greeting & s & '!'
let hello = closeness("Hello, ")
let hey = closeness("Hey, ")
assert hello("Nim") == "Hello, Nim!"
assert hey("there") == "Hey, there!"
RunBut blocks are brilliant, I didn't get them at first now use them all the time
