Basically, there should be a `define` which cannot redefine things, and `set` which only mutates things.