Error handling
The library exposes specific error classes:
SemaphoreReleasedErrorfor double releases;QueueClearedErrorwhen pending queue work is cleared;CircuitBreakerOpenErrorwhen execution is rejected by an open breaker;FlowCancelledErrorwhen pending debounce work is cancelled.
Catch these classes when the caller can recover from the flow-control decision. Let unexpected task errors propagate.