It has been a while since the last time I looked into CRDTs or Conflict-free Replicated Data types. The name is pretty descriptive in that you want data types that replicate in a conflict free manner such as distributed counters, sets and maps.
I found a really good resource on learning about CRDTs from a fundamental standpoint, which could help in building your own CRDTs that no one has. Lars Hupel's CRDTs
The way it talks relates abstract math to how certain CRDTs work is very easily read. 'Here is a lattice. Here's the operations that can produce output to form a lattice. Introduce first CRDT and lets talk about how the operation on the CRDT forms the lattice.
I've read about CRDT G-counters/sets, 2p sets, PN Counter and etc. Never took a dive below to understand how they could form though.