During the design stage, you do need working components, independently implemented, and experiment various combinations. If you use types, that means frequently rewriting types to match the reorganizations of control flow. Types still help to prevent mistakes, but the main part of actual design process (like working on clay, or, scrap & rebuild with Lego pieces) is just as tedious as other ways. I read that the original article is trying to address that problem.