aux ty; aux te; (List.iter (fun t -> aux t) patterns)
| C.Fix (no, funs) -> List.iter (fun (_,_,b,c) -> aux b; aux c) funs
| C.CoFix (no,funs) -> List.iter (fun (_,b,c) -> aux b; aux c) funs
- | _ -> ()
and aux_obj = function
| C.Constant (_,Some te,ty,v,_)
| C.Variable (_,Some te,ty,v,_) ->