Reduce now takes an expression rather than function