That reminds me of Rich Hickey’s Maybe Not talk. His main argument (no pun intended) is that changing the type of an argument from A
to Maybe A
is an unnecessarily breaking change. We could just always use Maybe
everywhere, but that would be imprecise.
On the other hand, I wonder if the problem would go away if we had better refactoring tools. Then we can both be precise and easily change our programs.