The problem is that JSPromise type is used unconditionally,
but it is defined inside ENABLE(PROMISES) guard.
Oops, somehow I didn't even notice that this was behind an enable flag. I'll fix. Thanks for alerting me.
Should be fixed by: