Diffing.DefineDefine(Defs) creates the diffing types from the types defined in Defs and the functors that need to be instantatied with the diffing algorithm parameters
type patch = change listA patch is an ordered list of changes.
module type Parameters = sig ... endmodule type S = sig ... endmodule Simple (_ : Parameters with type update_result := D.state) : Smodule Left_variadic
(_ : Parameters with type update_result := D.state * D.left array) :
Smodule Right_variadic
(_ : Parameters with type update_result := D.state * D.right array) :
S