CRDTs are simpler and more common than you think
CRDTs can sometimes be talked about as complex data structures that you use with CRDT libraries. And they can be that, but they don't have to be. Some of the natural solutions that any software engineer might come up to solve a problem in a distributed system are CRDTs, even though the implementer might not know or care that they are. It can be useful to identify label them as such.