first returns promises, dcell-reduce is reduce*