Convergent and Commutative Replicated Data Types for Scala