title: Why running unsafeRunSync() twice breaks RT
body: <p>I have following application that I could not figure it out, why running it twice it breaks RT: </p>
  
  <pre><code>val program = for {
    _ &lt;- IO { println("Welcome to Scala!  What's your name?") }
    _ &lt;- IO { println(s"Well hello, foo") }
  } yield ()
  
  program.unsafeRunSync()
  program.unsafeRunSync()
  </code></pre>
  
  <p>I run it twice and got the same result twice, why it breaks RT?</p>