The
deleteFirstsBy function takes a predicate and two lists and
returns the first list with the first occurrence of each element of
the second list removed. This is the non-overloaded version of
(\\).
The second list must be finite, but the first may be infinite.