pyslaru_task_3

сравнивая с уже сделанными вариантами других студентов, понял что возможно что-то где-то не сделал оптимально. если возникнет критика - буду только рад!
Ага, понятно, то есть
pred x y = isNum x == isNum y
(два значения одновременно либо цифры, либо не цифры).

Вообще, имейте в виду, что подобные определения технически не отличаются от тех, где у вас один аргумент и возвращается функция. Зато они гораздо более читабельны.

pred, кстати, можно записать с помощью композиции и сечений как ((.isNum) . (==)) . isNum
но так делать, разумеется, не нужно. По этой статье можно научиться делать такие штуки: http://fprog.ru/2010/issue4/denis-moskvin-compositions-sections/