Глубокая стека с помощью Yesod

Я пытаюсь установить схему авторизации, в которой я проверяю, что 1. пользователь вошел в систему 2. пользователь имеет доступ к определенному объекту. Для этого я сначала позвонюmaybeAuthIdзатем попытайтесь получить текущий объект и «присоединиться»; в другую таблицу, в которой перечислены разрешения. Существует два уровня возможных случаев и один уровень пустого списка. Я думал об использовании MaybeT, но либо я слишком устал, чтобы заставить его работать, либо "не совсем монадный преобразователь" - обработчики-преобразователи не могут быть использованы с MaybeT. Есть хороший способ справиться с глубокими Maybes?

Редактировать:

Кажется, мне было немного неясно. Я имел в виду, что у меня есть что-то вроде этого:

case foo of
   Nothing -> something
   Just foo' -> do
      bar <- somethingelse
      case bar of
         Nothing -> ...
         Just bar' -> ...

Ответы на вопрос(3)

Ваш ответ на вопрос