module Line : sig ... end
type !'a single_line = {
leading_blanks : string;
trailing_spaces : string;
orig : string;
data : 'a;
}
type !'a multi_lines = {
leading_spaces : string;
trailing_spaces : string;
indentation : string;
lines : 'a Line.t list;
}
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val invariant : ('a -> unit) -> 'a t -> unit
val map : 'a t -> f:(string -> 'a -> 'b) -> 'b t
val data : 'a t -> blank:'a -> conflict_marker:(string -> 'a) -> 'a list
val to_string : 'a t -> string
val to_lines : 'a t -> 'a Line.t list
val reconcile :
'a t ->
lines:'a Line.t list ->
default_indentation:int ->
pad_single_line:bool ->
'a t
val stripped_original_lines : 'a t -> string list