Why not pass `positions` to the promise so the original input doesn't need to be closed over in the promise?