I'm not entirely sure this abstraction is worth it. It seems to me better to drop the function parameter and duplicate the two lines at the head of the async { ... } block below into each of the two call sites, then share the rest of the code in a function, rather than accepting a function-valued function parameter here