I have this from Peyton Jones awkward squad paper<br><br>getTwoChars :: IO (Char,Char)<br>getTwoChars = do <br>            c1 &lt;- getChar<br>            c2 &lt;- getChar<br>            return (c1,c2)<br><br>Can someone explain what is happening here?<br>
*Main&gt; getTwoChars<br>ab<br>(&#39;a&#39;,&#39;b&#39;)<br>*Main&gt; getTwoChars<br>a<br>(&#39;\n&#39;,&#39;a&#39;)<br>