A comprehensive study of Convergent and Commutative Replicated Data Types