Я пытаюсь вернуть значение Maybe из функции, использующей нотацию do, но мне не удается заставить ее работать. Эта функция принимает строку ("имя файла") и путь для поиска в ...
findIn :: String -> Path -> Maybe Path
findIn search start = do
file <- ls start
if ((filename file) == search)
then Just file
else Nothing
Где...
ls :: Path -> Array Path
filename :: Path -> String
Но я продолжаю получать ошибку «Count not match Type Array with type Maybe», поэтому похоже, что компилятор ожидает, что нотация do вернет массив. Как мне вернуть значение может быть?