Merged the fixed `lib/Monoid.js` and `test/common/test.js` from branch "applicative".
Update; fixed Dual
Fixed similar issue as in `Monoid.js' (ensures immutability).
Merge branch 'master' into applicative