Add Parametric Morphism (A B: Set): (@map A B)
  with signature (@ext_eq A B) ==> (@ext_eq (T A) (T B))
  as map_ext_morph.

(* Specifications: *)
Lemma In_map_inv (A B: Set) (e: B) (f: A -> B) (t: T A): In e (map f t) -> exists e', e = f e' /\ In e' t.
Lemma map_ext (A B: Set) (f g: A -> B): ext_eq f g -> forall x, map f x = map g x.
Lemma map_id_ext (A: Set): ext_eq (map (@id A)) id.
Lemma In_head (X: Set) (t: T X): In (head t) t.
Lemma map_Node (X Y: Set) (f: X -> Y) l: map f (Node l) = Node (ne_list.map (map f) l).