(cause)
| 160 | const takePermits = take(key, permits) |
| 161 | const release: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> = Effect.matchCauseEffect({ |
| 162 | onFailure(cause) { |
| 163 | releaseUnsafe(permits) |
| 164 | return Effect.failCause(cause) |
| 165 | }, |
| 166 | onSuccess(value) { |
| 167 | releaseUnsafe(permits) |
| 168 | return Effect.succeed(value) |