Debugging tricky parameterized types

Parameterized functions are fantastic. I’m talking about the functions that operate around some abstract piece of data, without doing anything that would require specific knowledge about that data. Take, for example, the following fictional function: Example The code above is designed to take an option of something, save it somewhere if the option contains data, …