def GCounter.merge
import bend-kit-crdt@0.2.0.0/crdt.bend as Crdtimport Base
25# Component-wise maximum. It is commutative, associative, and idempotent.
26def GCounter.merge(a: List<&2, U32>, b: List<&2, U32>) -> List<&2, U32>:
27 match a b:
28 case Nil{} Nil{}:
29 Nil{}
30 case Nil{} Con{y, ys}:
31 Con{y, ys}
32 case Con{x, xs} Nil{}:
33 Con{x, xs}
34 case Con{x, xs} Con{y, ys}:
35 Con{U32.max(x, y), GCounter.merge(xs, ys)}