race(
fns) ->results,err
Run functions concurrently, return first result
Spawns each function in the list. When the first one finishes (success or error), cancels the rest and returns that result. Each function receives a cancel token as its first argument.