adding DistinctUnion, except, and intersect
updating gitignore
adding in haskell tests