The check wasn't very good and was breaking because it assumed uniform paths.
Not all operations - only the ones that aren't in error handling. The API for QFuture is too nasty to do much more in a sensible way.