you do rather many scans here so I would guess it's better with the Set, and it makes the function more uniform