In this talk Brian Lonsdorf (@drboolean) gently takes a shot at underscore.js for not thinking about currying and partial function application in its library design. He shows that if they had, it would lead to much more awesome abstraction and would be data generic. He even dares to use words like "typeclasses" and "functors" in front of Javascript developers.