Add reducer (reduce right); Add tests