sig
  type 'a t =
      Same of ('a * 'a) array
    | Old of 'a array
    | New of 'a array
    | Replace of 'a array * 'a array
    | Unified of 'a array
  val all_same : 'Patience_diff.Range.t list -> bool
  val old_only :
    'Patience_diff.Range.t list -> 'Patience_diff.Range.t list
  val new_only :
    'Patience_diff.Range.t list -> 'Patience_diff.Range.t list
  val t_of_sexp :
    (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'Patience_diff.Range.t
  val sexp_of_t :
    ('-> Sexplib.Sexp.t) -> 'Patience_diff.Range.t -> Sexplib.Sexp.t
end