At the boundaries of our applications, a lot of bad things can happen. Users supply all kinds of invalid or malicious input, other services may or may not return what their documentation promises, little Bobby Tables is sneaking around the corner. How do we cope?
In this talk, we’re going to look at concepts for guarding IO boundaries, use the example of the io-ts library to see what TypeScript can (and did!) learn from Haskell.