I am trying to use a Promise.all inside of a reduce and cannot get my function to work, unless there is only one user in my array.  The starting object of the reduce is a Promise.  The first time through the reduce, the Promise has .all available on it.  The second time through, the .all is not available.
return UserQueries.addUsersOnCasefileCreate(input).then(users => {
  return users.reduce((promise, user) => {
    return promise.all([
      AddressQueries.addAddress(user.address, user.userId, input.orgId),
      EmailQueries.addEmail(user.emails, user.userId, input.orgId),
      PhoneQueries.addPhones(user.phones, user.userId, input.orgId)
    ])
    .then(() => Promise.resolve(user))
  }, Promise);
})
How could I perform this operation?
 
     
    