: sig end -> S
Variadic diffing allows to expand the lists being diffed during diffing. in one specific direction.
val diff : D.state -> D.left array -> D.right array -> Diffing.Define.patch
diff state l r computes the optimal patch between l and r , using the initial state state .