tested List#reduce