content: -----------------------------------------------------------------------------
  -- |
  -- Module      :  Miso.State
  -- Copyright   :  (C) 2016-2025 David M. Johnson (@dmjio)
  -- License     :  BSD3-style (see the file LICENSE)
  -- Maintainer  :  David M. Johnson <code@dmj.io>
  -- Stability   :  experimental
  -- Portability :  non-portable
  --
  -- Similar to how one manages state in [React](https://react.dev/learn/managing-state),
  -- `miso` applications manage state with the 'State' monad.
  --
  -- The 'State' 'Monad' works well with `MonadState` lenses as seen in 'Miso.Lens' and the 'lens' library.
  --
  -- @
  -- updateModel :: Action -> Effect Model Action
  -- updateModel (AddOne event) = do
  --   modify (+1)
  --   io_ (consoleLog "Added One!")
  -- @
  --
  -- This module re-exports select combinators from 'Control.Monad.RWS' and serves as a placeholder to add new state management combinators.
  --
  ----------------------------------------------------------------------------
  module Miso.State
    ( ask
    , modify
    , modify'
    , get
    , gets
    , put
    , tell
    ) where
  ----------------------------------------------------------------------------
  import Control.Monad.RWS (get, gets, modify, modify', tell, put, ask)
  ----------------------------------------------------------------------------
  