# Module type Diffing.Define.Parameters

    module type Parameters = sig .. end

    type update_result

    val weight : Diffing.Define.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 : Diffing.Define.change -> D.state -> update_result

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