ну как - идем по списку [a] и вызываем функцию a -> m b. Если попалось Nothing, то весь результат это Nothing, а если Just b, то добавляем b в список результата
ну и тем не менее - получается, что использование монад приводит к необходимости использовать для них специальные функции. Но это не отвечает на вопрос "а зачем их вообще использовать"