Profundo tal vez apilar con yesod

Estoy tratando de establecer un esquema de autorización donde compruebo que 1. el usuario ha iniciado sesión 2. el usuario tiene acceso a un determinado objeto. Para esto primero llamomaybeAuthId, luego intente obtener el objeto actual y 'unirse' a otra tabla que enumera los permisos. Hay dos niveles de casos de tal vez y un nivel de caso de lista vacía. Pensé en usar MaybeT, pero o bien estoy demasiado cansado para que funcione o los transformadores de manipulador "no es realmente una mónada" no se pueden usar con MaybeT. ¿Hay una buena manera de manejar maybes profundos?

Editar:

Estaba un poco confuso, parece. Quise decir que tengo algo como esto:

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta