promise
Byondapi hooks act as "set waitfor = 0" procs. This means that whenever a proc directly called from an external library sleeps, the hook returns with whatever the called proc had as its return value at the moment it slept. This may not be desired behavior, so this datum exists to wrap these procs.
Some procs that don't sleep could take longer than the execution limit would allow for. We can wrap these in a promise as well.