It would be nice for comments to note that `decision` is a release barrier that protects `slot`, and that before accessing `slot` again you need to issue an acquire barrier.