Remark type_expect_incr:
  forall e ty1 ty2 e' te, type_expect e ty1 ty2 = OK e' -> S.satisf te e' -> S.satisf te e.

Lemma type_builtin_res_complete: forall te a e, S.satisf te e -> exists e', type_builtin_res e a (type_of_builtin_res te a) = OK e' /\ S.satisf te e'.