Hmm, not sure here, but maybe the problem is that your main thread is finished so fast, that background thread (in which Dispatch works asynchronously) has no time for taking action?
To check this you may try to insert a delay:
for (c <- country) // Here we spawn a background thread!
println(c)
Thread.sleep(500) // So let's wait half a second for it to work
Of course, in real program you should never need to do this.
Another option for delay is simply a readLine()
in the end of main.