Functor Diffing_with_keys.Define

module Define: 
functor (D : Diffing.Defs with type eq := unit-> sig .. end
Parameters:
D : Diffing.Defs with type eq := unit

type diff = (D.left, D.right, D.diff) Diffing_with_keys.mismatch 
type left = D.left Diffing_with_keys.with_pos 
type right = D.right Diffing_with_keys.with_pos 
type composite_change = (D.left, D.right, D.diff) Diffing_with_keys.change 

Composite changes and patches

type patch = composite_change list 
type change = (left, right, unit,
diff)
Diffing.change

Atomic changes

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