sig
type t =
Stop
| Type of Position.t
| Left of Position.t
| Right of Position.t
| Head of Position.t
| Arg of int * Position.t
| Body of Position.t
type position = Position.t
val stop : Position.t
val type_ : Position.t -> Position.t
val left : Position.t -> Position.t
val right : Position.t -> Position.t
val head : Position.t -> Position.t
val arg : int -> Position.t -> Position.t
val opp : Position.t -> Position.t
val rev : Position.t -> Position.t
val append : Position.t -> Position.t -> Position.t
val compare : Position.t -> Position.t -> int
val eq : Position.t -> Position.t -> bool
val hash : Position.t -> int
val pp : t CCFormat.printer
val to_string : t -> string
module Build :
sig
type t
val empty : Position.Build.t
val to_pos : Position.Build.t -> Position.position
val of_pos : Position.position -> Position.Build.t
val prefix : Position.position -> Position.Build.t -> Position.Build.t
val suffix : Position.Build.t -> Position.position -> Position.Build.t
val type_ : Position.Build.t -> Position.Build.t
val left : Position.Build.t -> Position.Build.t
val right : Position.Build.t -> Position.Build.t
val body : Position.Build.t -> Position.Build.t
val head : Position.Build.t -> Position.Build.t
val arg : int -> Position.Build.t -> Position.Build.t
val pp : t CCFormat.printer
val to_string : t -> string
end
end