Pure blood, give me a break...
Just a quick little note about an experiment I made. You may find some deeper meaning of this, although it is just a reflection on a well known fact.
So I created a code that does evolution in a multi-threaded environment. 16 threads processing 16 independent populations of organisms. As you may expect some population did better than the other, some became better and better while some other evolved slower. Some were even stuck, produced very little progress. Evolutionary dead-end and whatnot...
Then I made a very little, but important change. Added a code that chooses an organism, a successful one, and moves it from its place to a random population from time to time. Just like that, sometimes a single successful organism moved to a new location, into a new population. Guess what, here is the graph, the whole species got significantly better, more evolved, getting better.

Exactly as I expected, of course, but it is good to see that the code works...