YesodAuthEmail не может вывести m ~ HandlerFor site0 [duplicate]

На этот вопрос уже есть ответ:

Что не так с этим экземпляром YesodAuth? 1 ответ

Я пытаюсь добавить

instance YesodAuthEmail App 

кYesod-Postgres scaffolding (yesod version 1.6) и застревание при ошибке компиляции.

Соответствующий код:

instance YesodAuth App where
     type AuthId App = UserId
     ....
     authPlugins :: App -> [AuthPlugin App]
     authPlugins app = [authOpenId Claimed []] ++ extraAuthPlugins
         where extraAuthPlugins = [ authEmail ]

instance YesodAuthEmail App where
    type AuthEmailId App = UserId

    afterPasswordRoute _ = HomeR

    addUnverified email verkey =
        runDB $ insert $ User email Nothing 

Я получаю сообщение об ошибке:

/home/justin/code/yesodemail/src/Foundation.hs:273:11: error:<br>• Could not deduce: m ~ HandlerFor site0 from the context: MonadAuthHandler App m bound by the type signature for: addUnverified :: Yesod.Auth.Email.Email -> VerKey -> AuthHandler App (AuthEmailId App) ....<br>Expected type: m (AuthEmailId App) Actual type: HandlerFor site0 (Key User)

На основе типов,

getEmail :: AuthEmailId site -> AuthHandler site (Maybe Email) 
type MonadAuthHandler master m = (MonadHandler m, YesodAuth master, master ~ HandlerSite m, Auth ~ SubHandlerSite m, MonadUnliftIO m)
type AuthHandler master a = forall m. MonadAuthHandler master m => m a

Я бы подумал, что это скомпилируется. Что я недопонимаю?

P.S. Я попытался включить все, что уместно, но полный Foundation.hs находится наhttps: //gist.github.com/hyperpape/39d4d2baf67d3bdbdba45a943e7e042

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

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