Module Diffing

module type Defs = sig ... end
type change_kind =
  1. | Deletion
  2. | Insertion
  3. | Modification
  4. | Preservation
val prefix : Format.formatter -> (int * change_kind) -> unit
val style : change_kind -> Misc.Color.style list
type (!'left, !'right, !'eq, !'diff) change =
  1. | Delete of 'left
  2. | Insert of 'right
  3. | Keep of 'left * 'right * 'eq
  4. | Change of 'left * 'right * 'diff
val classify : ('a, 'b, 'c, 'd) change -> change_kind
module Define (D : Defs) : sig ... end