Głęboko może układać z yesod

Próbuję ustawić schemat autoryzacji, w którym sprawdzam, czy 1. użytkownik jest zalogowany 2. użytkownik ma dostęp do określonego obiektu. W tym celu najpierw zadzwonięmaybeAuthId, następnie spróbuj pobrać bieżący obiekt i „dołącz” do innej tabeli, która zawiera uprawnienia. Istnieją dwa poziomy być może przypadków i jeden poziom pustej listy przypadków. Pomyślałem o użyciu MaybeT, ale albo jestem zbyt zmęczony, aby go uruchomić, albo transformatory-handler „nie tak monadowego” nie mogą być używane z MaybeT. Czy jest dobry sposób na radzenie sobie z głębokimi majonezami?

Edytować:

Wydaje mi się, że byłem trochę niejasny. Miałem na myśli, że mam coś takiego:

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

questionAnswers(3)

yourAnswerToTheQuestion