Question Create a simple State monadic object

state_obj :: State [Char] [Char]

whose runState function is a constant function that maps anything to the pair ("one","two").

Then define a function

show_result :: Show a => State [Char] a -> IO () 

which writes

First: "one"
Second: "two"

by extracting the interior object and state from its argument. Your complete answer will appear in this template

import Control.Monad.State
…main = show_result state_obj

Note that show_result will have to run state_obj's state remaking function. It doesn't matter what argument you give it because you are going to throw the argument away. I used “anything”.