> Somehow haskell and friends shifted the discussion around functional programming to pure vs non-pure
In direct response every other language in the mid 2010s saying, "Look, we're functional too, we can pass functions to other functions, see?"
foo.bar()
.map(x => fireTheMissiles())
.collect();
C's had that forever:
void qsort(void *base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *))