Store
Update memory, overwriting an address with a new value.
(MEM::store addr elem mem)
store has a guard that requires (memory-p mem) and also requires
(address-p addr mem).
store returns a copy of mem, except that the element at address
addr is overwritten with elem. This is analagous to update-nth,
acons, aset1, and the like. The implementation of store is
private.