Comparison with `=` and with CAS is not the same
heap_lang allows more things to be compared with
= than with
CAS: for the latter, one of the two values-to-be-compared has to be "unboxed", meaning that it is a literal or inl/inr of a literal. If this condition is not met, the program is stuck.
@robbertkrebbers proposes that we should restrict
= in a similar way. On the other hand, it is nice that
= is a total operation currently.