I would add that's in some sense "externalizing" an ideal flow state in the sense of the article. Real flows are hesitating and often emerge incoherently. So you end up reworking the commits to represent the path you would have followed had you understood things fully at the start.