let
union a b =
rev (rev_append_uniq (rev_append_uniq [] a) b)