Await tasks with multiple result types