Does this end up changing anything? This creates a promise out of undefined, but otherwise the value of it would be undefined which would get turned into a promise with WinJS.Promise.as(p) in the reduce callback.