A few examples of Semigroup definitions
You mention you use a special immutable library that has some flare added. Are you talking about https://facebook.github.io/immutable-js/ or other?
Hi! Posting here for everyone: https://github.com/DrBoolean/immutable-ext
This library is not "my" ideas. Just a JS port of normal types from FP langs. Same functions will live in other FP libs which implement Map/List