sig
  val ( ?%@ ) : int -> Term.t
  val ( !@ ) : Term.t -> Term.t
  val ( =>@ ) : Term.t -> Term.t -> Term.t
  val ( &@ ) : Term.t -> Term.t -> Term.t
  val ( |@ ) : Term.t -> Term.t -> Term.t
  val ( =@ ) : Term.t -> Term.t -> Term.t
  val ( ~@ ) : Term.t -> Term.t
  val ( -@ ) : Term.t -> Term.t -> Term.t
  val ( +@ ) : Term.t -> Term.t -> Term.t
  val ( *@ ) : Term.t -> Term.t -> Term.t
  val ( //@ ) : Term.t -> Term.t -> Term.t
  val ( /%@ ) : Term.t -> Term.t -> Term.t
  val ( <=@ ) : Term.t -> Term.t -> Term.t
  val ( <@ ) : Term.t -> Term.t -> Term.t
  val ( >=@ ) : Term.t -> Term.t -> Term.t
  val ( >@ ) : Term.t -> Term.t -> Term.t
end