Guarded Atomic Actions for HardCaml