Tweaks to make more Array functions work on non-arrays
Added Array.reduce