Definition size a (x:t a) : nat := dim (traverse a a x).

(* Specifications: *)
Lemma size_preservation a b (x: t a) v : size (peek (k:=traverse a b x) v) = size x.
Lemma dim_preservation a a' b b' (x: t a) v : dim (traverse b b' (peek (k:=traverse a b x) v)) = dim (traverse a a' x).