Notation "n .-tuple" := (tuple_of n)
  (at level 2, format "n .-tuple") : type_scope.Notation "[ 'tnth' t i ]" := (tnth t (@Ordinal (tsize t) i (erefl true)))
  (at level 0, t, i at level 8, format "[ 'tnth'  t  i ]") : form_scope.Definition in_tuple (s : seq T) := Tuple (eqxx (size s)).

Lemma tcastKV m n (eq_mn : m = n) : cancel (tcast (esym eq_mn)) (tcast eq_mn).