Data.Label.MaybeM
MonadState
lens operations.
gets
MonadReader
lens operations.
asks