wouldn't this receive `setTimeout`'s arguments, which will always be empty? Also, do our promises even handle multiple args?