title: What is the IO type in Haskell
body: <p>I am new to the Haskell programming language, I keep on stumbling on the <code>IO</code> type either as a function parameter or a return type.</p>
  
  <pre><code>playGame :: Screen -&gt; IO ()
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>gameRunner :: IO String -&gt; (String -&gt; IO ()) -&gt; Screen -&gt; IO ()
  </code></pre>
  
  <p>How does this work, I am a bit confused because I know a String expects words and an Int expects numbers. Whats does the <code>IO</code> used in functions expect or Return?</p>