Because the truth value of an empty array is True, the return value remains the same regardless of the effects. Therefore, it should just be
return effects.length ? state.update({ effects, annotations: isFocusChange.of(true) }) : null;
return effects.length ? state.update({ effects, annotations: isFocusChange.of(true) }) : null;
Thanks for spotting that. Fixed in this patch.