Functor Diffing.Define

module Define: 
functor (D : Defs-> sig .. end

Define(Defs) creates the diffing types from the types defined in Defs and the functors that need to be instantatied with the diffing algorithm parameters

D : Defs

type change = (D.left, D.right, D.eq, D.diff) Diffing.change 

The type of potential changes on a list.

type patch = change list 

A patch is an ordered list of changes.

module type Parameters = sig .. end
module type S = sig .. end
module Simple: 
functor (* : sig
end-> S 
module Left_variadic: 
functor (* : sig
end-> S 

Variadic diffing

module Right_variadic: 
functor (* : sig
end-> S