There were a couple issues with the original version of
`resolvePromiseProperties`:
- The wrapper promise was unnecessary, since we can just return the
`Promise.all`. Fixing this allows us to remove a wrapping function,
reduce indentation, remove the `resolve` and `reject` calls, and
remove the now unnecessary `.catch` line.
- There was inadvertent mutation in the `Object.assign` call - the
first parameter to `Object.assign` is mutated, so to call it without
mutating existing objects the first parameter should be a literal
`{}`. This is now fixed.