Three years ago, @hwayne posted A Totally Polished and not-at-all half-baked Take on Static vs Dynamic Typing to his email newsletter. When I first read it, I found it refreshing to read a more balanced programming-related post than I typically encounter, and I also learned some new ideas I'd never heard about before. However, this Gist is not really about all that; it's about one specific statement in the post that is incorrect. The error doesn't affect any of the arguments being made, nor am I criticizing Wayne for the error. Rather, correcting the statement allows me to explain some pretty interesting concepts that might be insightful to some people who read this.
Here is the statement I'll be talking about, along with the context of the statement:
Maybe a -> a
is a subtype ofa -> Maybe a
: anything that typechecks with the latter should typecheck with the former.²[...] >