Ltac destruct_match H :=
match type of H with
| context [ match ?x with _ => _  end] => destruct x eqn:?
end.

Lemma exprD'_one_type : forall tus tvs t1 t2 (e : expr typ func) v1 v2, exprD' tus tvs t1 e = Some v1 -> exprD' tus tvs t2 e = Some v2 -> t1 = t2.