# `failure.outcome_duplicate_arm`

Outcome match handles a failure twice.

Area 3, [Logic](../topics/logic.md); not declinable; the next step is usually the agent's.

```jadpo
function duplicate_failure(key: LookupKey) -> LookupResult {
    return match lookup(key) {
        success(value) -> value
        LookupMissing -> "missing"
        LookupMissing -> "missing again"
        LookupRefused -> "refused"
    }
}
```

```text
error: `LookupMissing` is handled twice
 --> main.jadpo:5:9
  |
4 |         LookupMissing -> "missing"
  |         ------------- first matched here
5 |         LookupMissing -> "missing again"
  |         ^^^^^^^^^^^^^ matched again
  reason: Each failure has one arm; the first takes every `LookupMissing`, so this one never runs.
  next: Remove this arm, or merge its body into the first (agent)
  rule: failure.outcome_duplicate_arm
  help: https://jadpo.dev/docs/errors/failure.outcome_duplicate_arm

check failed: 1 error, 2 files
```
