Thanks. That's all good to know. Though I probably won't go telling people that they should not bother cleaning location references. For the same reason as you, it would confuse them.
I'm sure there is a good tutorial somewhere, but if you want you could explain to me what "function foo takes nothing returns nothing" means. I know it starts every Jass script, but I know it does something too.