--* *-- is less confusing than --{ }--
Move some functions around for better organization
Minor optimizations. Switch-case in freeValue.