sig
  type t =
      Stop
    | LogtkType of LogtkPosition.t
    | Left of LogtkPosition.t
    | Right of LogtkPosition.t
    | Record_field of string * LogtkPosition.t
    | Record_rest of LogtkPosition.t
    | Head of LogtkPosition.t
    | Arg of int * LogtkPosition.t
  type position = LogtkPosition.t
  val stop : LogtkPosition.t
  val left : LogtkPosition.t -> LogtkPosition.t
  val right : LogtkPosition.t -> LogtkPosition.t
  val type_ : LogtkPosition.t -> LogtkPosition.t
  val record_field : string -> LogtkPosition.t -> LogtkPosition.t
  val record_rest : LogtkPosition.t -> LogtkPosition.t
  val head : LogtkPosition.t -> LogtkPosition.t
  val arg : int -> LogtkPosition.t -> LogtkPosition.t
  val opp : LogtkPosition.t -> LogtkPosition.t
  val rev : LogtkPosition.t -> LogtkPosition.t
  val append : LogtkPosition.t -> LogtkPosition.t -> LogtkPosition.t
  val compare : LogtkPosition.t -> LogtkPosition.t -> int
  val eq : LogtkPosition.t -> LogtkPosition.t -> bool
  val hash : LogtkPosition.t -> int
  val pp : Buffer.t -> LogtkPosition.t -> unit
  val fmt : Format.formatter -> LogtkPosition.t -> unit
  val to_string : LogtkPosition.t -> string
  module Build :
    sig
      type t
      val empty : LogtkPosition.Build.t
      val to_pos : LogtkPosition.Build.t -> LogtkPosition.position
      val of_pos : LogtkPosition.position -> LogtkPosition.Build.t
      val prefix :
        LogtkPosition.position ->
        LogtkPosition.Build.t -> LogtkPosition.Build.t
      val suffix :
        LogtkPosition.Build.t ->
        LogtkPosition.position -> LogtkPosition.Build.t
      val left : LogtkPosition.Build.t -> LogtkPosition.Build.t
      val right : LogtkPosition.Build.t -> LogtkPosition.Build.t
      val type_ : LogtkPosition.Build.t -> LogtkPosition.Build.t
      val record_field :
        string -> LogtkPosition.Build.t -> LogtkPosition.Build.t
      val record_rest : LogtkPosition.Build.t -> LogtkPosition.Build.t
      val head : LogtkPosition.Build.t -> LogtkPosition.Build.t
      val arg : int -> LogtkPosition.Build.t -> LogtkPosition.Build.t
      val pp : Buffer.t -> LogtkPosition.Build.t -> unit
      val fmt : Format.formatter -> LogtkPosition.Build.t -> unit
    end
end