(List.map (fun x-> PP.ppterm ~subst ~metasenv ~context x) args))))
in
let left, args = HExtlib.split_nth paramsno tl in
- List.for_all (does_not_occur ~subst context n nn) left &&
analyse_instantiated_type rec_params args
| C.Appl ((C.Match (_,out,te,pl))::_)
| C.Match (_,out,te,pl) as t ->
does_not_occur ~subst context n nn out &&
does_not_occur ~subst context n nn te &&
List.for_all (aux context n nn h) pl
+(* IMPOSSIBLE unsless we allow to pass cofix to other fix/cofix as we do for
+ higher order fix in g_b_destructors.
+
| C.Const (Ref.Ref (u,(Ref.Fix _| Ref.CoFix _)) as ref)
| C.Appl(C.Const (Ref.Ref(u,(Ref.Fix _| Ref.CoFix _)) as ref) :: _) as t ->
let tl = match t with C.Appl (_::tl) -> tl | _ -> [] in
(fun (_,_,_,_,bo) ->
aux (context@tys) n nn h (debruijn u len context bo))
fl
+*)
| C.Const _
| C.Appl _ as t -> does_not_occur ~subst context n nn t
in