CRDTs: The Hard Parts