Be careful when using CRDTs. Having no conflicts does not mean the end result is correct. In many cases you essentially converge to last-write-wins with respect to the Lamport clock.
CRDTs can best be thought of as a way to eliminate spurious and false conflicts, leaving only real errors. Without them anyone who has ever coded a data merge knows you tend to get a ton of noise.
So basically you have reduced the problem surface area.
Note that from a different user perspective, say a code document, such a conflict is actually correct and desired. So it's all about context.