Distinguish Union and UnionAll

This moves the expected behavior from UnionScan to UnionAll.
Union will remove duplicate positions while UnionAll will not.