I really like the vue implementation a guy posted in the comments:
https://jsfiddle.net/chrisvfritz/aomd3y9n/
simple, beautiful and without the bloat mentioned in the article.
I used to use underscore/lodash for nearly everything a few years back. Nowadays, I prefer using the build-in array methods (map, filter, reduce, some, etc.) and only use lodash where it really makes sense too me.
We also used Ramda in some projects. Although it really is nice... after leaving the codebase for a few months and then coming back, it was quite challenging to understand what we did back then :)
In case of TypeScript:
I think it can be nice if you are either developing a library with not many dependencies or you are working in a ecosystem which embraces types (like angular2).
In all other cases I agree with @igl that it adds too much noise to your project.
The module situation in the JS ecosystem is terrible these days. They should have just choosen CommonJS or AMD to be the standard instead of inventing something new.
Yes, tree-shaking is nice... but it does not justify the fragmentation we currently have and all the build/transpile insaneness.
Ah I wasn't aware that the built version was published on npm. Thanks for pointing that out. I downloaded the library and ran the build process myself. NPM install pulled in about 100MB dependencies. This seemed really overkill for a 30 LOC mini library.
IMHO the majority of the web does not use stuff like Webpack / Babel (yet). Just look at all those Wordpress, Joomla installations and apps older than 2 years. So being able to pull in a frontend library via script-tag is still a must in my opinion.
I also like the library. The only thing that I don't like is that it needs Webpack/Babel to be built. Changing 2 lines of code would make it ES5 compatible out of the box.