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

(* Specifications: *)
Lemma map_ext (T U: Set) (f g: T -> U): ext_eq f g -> forall l, map f l = map g l.
Lemma In_map_inv (T U: Set) (f: T -> U) (l: L T) (y: U): List.In y (map f l) -> exists x, f x = y /\ List.In x l.
Lemma length_ne_0 (A: Set) (l: L A): List.length l <> 0.
Lemma map_length (A B: Set) (f: A -> B) (l: L A): List.length (map f l) = List.length l.
Lemma In_round_tripped_head (T: Set) (x: T) l: List.In x (from_plain x l).