У меня есть эта функция inserts
где
inserts 1 [2,3] = [[1,2,3],[2,1,3],[2,3,1]]
вот определение (прямо из Algorithm Design with Haskell by Bird and Gibbons)
inserts :: a -> [a] -> [[a]]
inserts x [] = [[x]]
inserts x (y:ys) = (x:y:ys) : map (y:) (inserts x ys)
Я пробовал это в ghci с приведенным выше примером, но получаю следующее исключение
[[1,2,3],[2,1,3]*** Exception: <interactive>:2:1-53: Non-exhaustive patterns in function inserts
Кто-нибудь знает, что является недостающим шаблоном?