(** ** Soundness *)
Definition cast {domain} (eta eta' : nat -> domain) (I : interp eta) : interp eta'.
destruct I; econstructor; eauto.
Defined.

Lemma eval_ext t dom rho rho' eta (I : interp dom eta) :
(forall v, v el vars_t t -> rho v = rho' v) -> eval rho t = eval rho' t.