Legend:
Library
Module
Module type
Parameter
Class
Class type
val weight : change -> int

weight ch returns the weight of the change ch. Used to find the smallest patch.

val test : D.state -> D.left -> D.right -> ( D.eq, D.diff ) result

test st xl xr tests if the elements xl and xr are co mpatible (Ok) or not (Error).

val update : change -> D.state -> D.state * D.left array

update ch st returns the new state after applying a change. The update_result type also contains expansions in the variadic case.