let const_lazy_reduction red =
(fun _ metasenv ugraph -> red, metasenv, ugraph)
-type pattern = lazy_term option * (string * Cic.term) list * Cic.term
+type ('term, 'lazy_term) pattern =
+ 'lazy_term option * (string * 'term) list * 'term option
+
+type lazy_pattern = (Cic.term, lazy_term) pattern
let conclusion_pattern t =
let t' =
| None -> None
| Some t -> Some (fun _ m u -> t, m, u)
in
- t',[],Cic.Implicit (Some `Hole)
+ t',[],Some (Cic.Implicit (Some `Hole))
(** tactic failure *)
exception Fail of string Lazy.t