Generalizing view is nice, as it allows you to use view in a MonadAsk context like use in a MonadState context.
-- | View the focus of a `Getter`.
view :: forall s t a b m. MonadAsk s m => Getter s t a b -> m a
view l = ask >>= unwrap (l (Forget id))
Generalizing
viewis nice, as it allows you to useviewin aMonadAskcontext likeusein aMonadStatecontext.