Now using M.intersectionWith, so no need for Data.Set