Yeah. A TDD design gives types and then instances of types. It is in everyday programmers hands, so it is not as often logically sound, as a type system outside of direct human contact would be. But it is a lot better than people give it credit for.
@jmw150@lupyuen also, TDD (and gradual typing) are far more flexible. Types only solve one, very narrow (albeit common) class of errors. Options that allow for testing specific to the problem-space, rather than highlighting the problem space of the language, are good