Earlier quoted context omitted.
I guess static first is a chore because at that point you have no idea what invariant or structure is required for the task. After prototyping you know where to tighten the bolts.
> you have no idea what invariant or structure is required for the task I often write the program in TypeScript types/interfaces first because it forces me to think about the data flow both in and out. In my opinion, data, not code, is the most important thing about a program.
start with interfaces and let the live type checker tell you where your incoherences are. Very very smooth way to work.