let union l1 l2 = let rec help tas l1 l2 = match l1 with | x::xs -> if List.mem x l2 then help tas xs l2 else help (x::tas) xs l2 | [] -> tas in help l2 l1 l2