I hate async functions