I’m not sure we want to reject the remote promise if the local promise emits a non-serializable progress value. On the other hand, I’m not sure what’s proper in any case. In Q proper, if a progress handler throws an exception, we let the app crash https://github.com/kriskowal/q/blob/master/q.js#L727-L729