ES5 specifies a Semigroup for Array