The problem is your type signature on the serveTags
function, it should be monadic:
serveTags :: MonadIO m => AcidState Blog -> m [Text]
serveTags acid = query' acid GetTags
EventResult
is a type family that here resolves to [Text]
. Since query'
is monadic, your type signature got resolved to the list monad, i.e. m Text
where the m
is the list monad, thus the confusing error message.