title: Haskell function that takes one argument and prints a string to the output
body: <p>I'm learning haskell now. 
  Now i want to write a function which takes one argument(Int, for example), prints some string to the output and returns this argument. I'm trying to do something like this:</p>
  
  <pre><code>test :: Int -&gt; Int
  test h = do
           putStrLn "Here will be number!"
           h
  
  main = print $ test 200
  </code></pre>
  
  <p>Now i getting such error:</p>
  
  <pre><code>Couldn't match expected type `Int' with actual type `m0 b0'
  Expected type: m0 a0 -&gt; m0 b0 -&gt; Int
    Actual type: m0 a0 -&gt; m0 b0 -&gt; m0 b0
  In a stmt of a 'do' block: h
  In the expression:
    do { putStrLn "Here will be number!";
         h }
  </code></pre>
  
  <p>Is there way to implement what I want?</p>