Adding this bit of code to the unit test
shows that setTimeout is returning either null or undefined:
Of course, revising *exec-tap-fn* to coerce the return value would ensure we get a Boolean result, but this feels like it might be a workaround for a defect in this build of JSC:
Further investigation shows that JSC is actually returning undefined:
exists? uses (some? ...) which is just (not (nil? ...)) which due to nil? treats undefined and null as the same thing via coercive-=. I think a better check for your last comment is (nil? ...) instead of (identical? nil ...)
Sorry I misunderstood, I think the boolean coercion is fine for now.