Reduce, not apply
Solved #43 with borrowed permutations fns