Adding reduce (and synonyms inject, foldl)