module Range:sig..end
Same range contains a series of elements which can be found in
    both arrays.  A New range contains elements found only in the new array,
    while an Old range contains elements found only in the old array.
    A Replace contains two arrays: elements in the first array are elements
    found only in the original, old array which have been replaced by elements
    in the second array, which are elements found only in the new array.
type 'a t = | | | Same of  | |||
| | | Old of  | |||
| | | New of  | |||
| | | Replace of  | |||
| | | Unified of  | (* | ranges_all_same rangesreturns true if allrangesare Same | *) | 
val all_same : 'a t list -> boolval old_only : 'a t list -> 'a t listold_only hunks drops all New ranges and converts all Replace
      ranges to Old ranges.val new_only : 'a t list -> 'a t listnew_only hunks drops all Old ranges and converts all Replace
    ranges to New ranges.val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a tval sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.tranges_all_same ranges returns true if all ranges are Sameold_only hunks drops all New ranges and converts all Replace
      ranges to Old ranges.new_only hunks drops all Old ranges and converts all Replace
    ranges to New ranges.