(** * [elements] *)

Lemma elements_3w : forall m (Hm:NoDupA m), NoDupA (elements m).
Fixpoint fold (A:Type)(f:key->elt->A->A)(m:t elt) (acc : A) {struct m} :  A :=
match m with
| nil => acc
| (k,e)::m' => fold f m' (f k e acc)
end.