а для пересечения нескольких есть - пустой сет.
просто тут придётся поставить case на входные данные. А раз кейс есть, то уже и первый элемент для фолда считай есть.
так, нейтральный элемент для пересечения - все множество, если оно вообще ограничено, то есть intersections ([] :: [Set a]) это будет Set из всех элементов a
поэтому intersections не написать без Bounded/Enum, а из-за отсуствия возможности делать бесконечный Set нет и этого почти всегда