Cic.metasenv -> Cic.context -> Cic.term -> CicUniv.universe_graph ->
Cic.term * Cic.term * Cic.metasenv * CicUniv.universe_graph
+ (* this is the correct one and should be used by tactics to fold subst *)
+val type_of:
+ Cic.metasenv -> Cic.substitution ->
+ Cic.context -> Cic.term -> CicUniv.universe_graph ->
+ Cic.term * Cic.term * Cic.metasenv * Cic.substitution *CicUniv.universe_graph
+
(* typecheck metasenv uri obj graph *)
(* refines [obj] and returns the refined form of [obj], *)
(* the new metasenv and universe graph. *)