remove reduce wrapper; more tests

rationale: it doesn't work for `foldl`. so i'd argue it's already broken, and this is a fix.

`checkForMethod` was passing the wrong args. should do: `foldl(f, acc, obj) // => obj[f](acc)` but that is not how it behaved.