In evolution, an species mutates and evolves over large genetic time spans. But every big change (say, swimming to walking, or walking to flying) is made up of countless micro-changes over the course of many many years and many many generations.
My question, does each "micro-change" have to be an improvement over the prior iteration? Or can evolution initiate micro-changes, knowing the current generation won't see the final result for an arbitrary number of years?