Definition optSwap (A : Set)(opt : option (A * A)) :=
  match opt with
    | None => None
    | Some (a1, a2) =>
      Some (a2, a1)
  end.

Theorem compMap_wf : forall (A B : Set){eqdb : EqDec B}(c : A -> Comp B)(ls : list A), (forall a, In a ls -> well_formed_comp (c a)) -> well_formed_comp (compMap _ c ls).