Written by @alpacaaa and @GiulioCanti
"Type driven development" is a technique used to split a problem into a set of smaller problems, letting the type checker suggest the concrete implementation, or at least helping us getting there. Here's a practical example
Say for instance that we like to reimplement the function Promise.all
, we'll name it sequence
. Let's start with its signature