This is potentially super expensive, particularly when some of the collection is values rather than thenables