We now have: wait_any_value(): for when passed functions cannot throw exceptions; wait_first_outcome(): get earliest result/exception; wait_first_success(): get first non-exception result.