Add recommendation note for multiple definitions
Add bacon.js to implementations
Add "equals" to Terminology section
Replace "equality" with "equivalence"
Merge pull request #14 from kennknowles/equality

Add "equals" to Terminology section
Bacon implements Functor too.
Rename `then` to `chain` and change the monad hierarchy

Also capitalise names of the algebras
Merge pull request #18 from raimohanska/patch-1

Bacon implements Functor too.
Accidental "bind" instead of "Chain"

Fixes #19
Add Semigroup specification

Fixes #5
Missed Semigroup in structure list
ES5 specifies a Semigroup for Array
Allow definition of `of` on the value itself

Fixes #16
Fixes #10
Add Monoid

Fixes #6
Add Monoid to list of structures
Fix bad Monoid specification
Name the laws

Fixes #21
Add Monoid instance to Id
Accidentally used `empty` instead of `zero`
Add aljebra to implementations