Specification and implementation of resilient, atomic data types | Synapse