Very cool discussion regarding higher-kinded programming and FP concepts in general. One thing I don't get is when the author writes:
Personally, I try to avoid using the word "monad"
on this site and focus on the bind function
instead, as part of a toolkit of functions for
solving problems rather than an abstract concept.
That's pretty much the definition of "monad."[1] Why shrink from it? Unless the author for some reason is worried that their content will be shunned due to using the proper terms for concepts being discussed.1 - Yes, the existence of a bind operator is not required for satisfying the Monad laws. Which is why I said "pretty much."