exception IsNotCombinator
val mk_s : ?args:Logtk.Term.t list -> alpha:Logtk.Term.t -> beta:Logtk.Term.t -> gamma:Logtk.Term.t -> Logtk.Term.tval mk_b : ?args:Logtk.Term.t list -> alpha:Logtk.Term.t -> beta:Logtk.Term.t -> gamma:Logtk.Term.t -> Logtk.Term.tval mk_c : ?args:Logtk.Term.t list -> alpha:Logtk.Term.t -> beta:Logtk.Term.t -> gamma:Logtk.Term.t -> Logtk.Term.tval mk_k : ?args:Logtk.Term.t list -> alpha:Logtk.Term.t -> beta:Logtk.Term.t -> Logtk.Term.tval mk_i : ?args:Logtk.Term.t list -> alpha:Logtk.Term.t -> Logtk.Term.tval bunder_optimizations : (Logtk.Term.t -> Logtk.Term.t option) listval curry_optimizations : (Logtk.Term.t -> Logtk.Term.t option) listval narrow_rules : (Logtk.Term.t -> Logtk.Term.t option) listval abf : rules:(Logtk.Term.t -> Logtk.Term.t option) list -> Logtk.Lambda.term -> Logtk.Term.tval comb2lam : Logtk.Term.t -> Logtk.Term.tval comb_normalize : Logtk.Term.t -> Logtk.Term.t CCOpt.tval cmp_by_max_weak_r_len : Logtk.Term.t -> Logtk.Term.t -> Logtk.Comparison.t * Logtk.Term.t * Logtk.Term.tval narrow : Logtk.Term.t -> Logtk.Term.t