Definition map (A B: Type) (f: A -> B) (m: t A) :=
    fun (x: X.t) => f(m x).

(* Specifications: *)
Lemma gmap: forall (A B: Type) (f: A -> B) (i: elt) (m: t A), get i (map f m) = f(get i m).
Lemma gmap: forall (A B: Type) (f: A -> B) (i: elt) (m: t A), get i (map f m) = f(get i m).