Type-driven development as described here means we focus on the types of our functions before fully implementing them. This allows us to build a proven foundation for our code. Then, once we have types that we compiling, we can finish implementing them. In this short post, Matt Diephouse shows us how he uses this approach with Swift. He first figures out his types, before later returning to fill in the implementation.