Its generally best to have arrays with consistent types. You can do the following manually though (passing in generic arguments):
Promise.all<Aurelia, void>(
[aurelia.start(), entityManagerProvider.initialize()
])
.then(results => {
let aurelia = results[0];
aurelia.setRoot();
});