sig
  type t = {
    view : TermTyped.Default.t TermTyped.view;
    d_loc : Loc.t option;
    mutable d_ty : TermTyped.Default.t option;
  }
  val deref_rec_ : TermTyped.Default.t -> TermTyped.Default.t
  val repr : TermTyped.Default.t -> TermTyped.Default.t TermTyped.view
  val loc : TermTyped.Default.t -> Loc.t option
  val ty : TermTyped.Default.t -> TermTyped.Default.t option
  val make_raw_ :
    loc:Loc.t option ->
    ty:TermTyped.Default.t ->
    TermTyped.Default.t TermTyped.view -> TermTyped.Default.t
  val build :
    ?loc:Loc.t ->
    ty:TermTyped.Default.t ->
    TermTyped.Default.t TI.view -> TermTyped.Default.t
  val kind : TermTyped.Default.t
  module Print :
    sig
      type t = t
      val print : t TI.printer
      val print' : TI.prec -> t TI.printer
      val print_in_app : t TI.printer
      val print_in_binder : t TI.printer
      val to_string : t -> string
      val to_sexp : t -> Sexp_lib.t
    end
end