TFA begins by explaining that it's going to explain why why do we need static types although we have TDD.
However these are two orthogonal concepts and the first paragraph of TFA makes no sense.
Also TFA seems to imply that using static types + TDD means we can have programs provably bug-free.
Not so fast there: any bug in production in a TDD+static types is a bug that "escaped" the type system and that didn't get caught by TDD.
And there are many such bugs in production for TDD + static types projects.
I'd say TFA is very poorly trying to make its point (not that the author doesn't have one: but the 'talk' is not nearly anywhere near close the 'code' in TFA).
However these are two orthogonal concepts and the first paragraph of TFA makes no sense.
Also TFA seems to imply that using static types + TDD means we can have programs provably bug-free.
Not so fast there: any bug in production in a TDD+static types is a bug that "escaped" the type system and that didn't get caught by TDD.
And there are many such bugs in production for TDD + static types projects.
I'd say TFA is very poorly trying to make its point (not that the author doesn't have one: but the 'talk' is not nearly anywhere near close the 'code' in TFA).