Get the latest tech news
Types are a basic tool of software design (2018)
Static or dynamic, a program's design is written in its types.
More modern aversions to deeply chaining method calls (e.g. “ Law of Demeter ”) are likewise attempts to meaningfully communicate what a function works with. After feeling a bit stupid for a minute (and after a quick google, deciding abc was too much to introduce), I ended up advising they just write up a “template” class in a comment. I think this one-two punch (of more generally useful code and more powerful correctness properties) was responsible for the take-over of static types in the functional programming community.
Or read this on Hacker News