title: Why does State need a value?
body: <p>Just learning about State monad from this excellent <a href="http://brandon.si/code/the-state-monad-a-tutorial-for-the-confused/" rel="noreferrer">tutorial</a>. However, when I tried to explain it to a non-programmer they had a question that stumped me.</p>
  
  <p>If the purpose of the State is to simulate mutable memory, why is the function that state monad stores is of the type:</p>
  
  <pre><code>s -&gt; (a, s)
  </code></pre>
  
  <p>and not simply:</p>
  
  <pre><code>s -&gt; s
  </code></pre>
  
  <p>In other words, what is the need for the "intermediate" value? For example, couldn't we, in the cases where we need it, simulate it by simply defining a state as a tuple of <code>(state, value)</code>?</p>
  
  <p>I'm sure I confused something, any help is appreciated.</p>