title: Kotlin Coroutine GlobalScope documentation clarity
body: <p>I'm having a hard time understanding the usages and documentation for GlobalScope.
  The docs states:</p>
  <blockquote>
  <p>A global CoroutineScope not bound to any job.</p>
  <p>Global scope is used to launch top-level coroutines which are
  operating on the whole application lifetime and are not cancelled
  prematurely. Another use of the global scope is operators running in
  Dispatchers.Unconfined, which don’t have any job associated with them.</p>
  <p>Application code usually should use an application-defined
  CoroutineScope. Using async or launch on the instance of GlobalScope
  is highly discouraged.</p>
  </blockquote>
  <ol>
  <li><p>What does it mean when GlobalScope is not bound to any job? Because I can do</p>
  <pre><code>val job = GlobalScope.launch {
      // some work
  }
  job.cancel() 
  </code></pre>
  </li>
  <li><p>It says they are not canceled prematurely. What does this mean? As you can see above I can cancel it.</p>
  </li>
  <li><p>Lastly it says, it operates on the whole application lifetime. So the scope stays alive until the application dies. How does this compare with <code>CoroutineScope</code>? When I exit an Android <code>Activity</code> in the middle of a running <code>CoroutineScope</code>, it'll still be alive and runs until completion. Does it just mean the <code>CoroutineScope</code> will get cleaned up w/ garbage collection after it completes and <code>GlobalScope</code> wont?</p>
  </li>
  </ol>
  <p>link to docs:
  <a href="https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-global-scope/" rel="nofollow noreferrer">https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-global-scope/</a></p>