JSHint ignores redefinition of `Promise`