Зачем эксепшн. По пустому списку можно итерировать точно таким же образом, как и по полному, только будет ноль итераций. Если список определяется в рантайме, то таким образом можно контролировать поток управления.
Ну а в хаскелле вы просите составить все возможные комбинации из элементов x и y. Если в y есть только один элемент (пустой список), то будут комбинации всех элементов x с единственным элементом y. Если в y нет элементов, то возможных комбинаций тоже не существует, список возможных комбинаций, который попадает на выход, пуст. Что и требуется.