unions(*args) takes many args