# LibTmux.Query.atMostOne

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Query.hs#L49
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-query-v-atmostone/

```haskell
atMostOne :: [row] -> Either CardinalityError (Maybe row)
```

Signature types: [`Either`](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either), [`CardinalityError`](/en/haskell/latest/reference/libtmux-query-t-cardinalityerror/), [`Maybe`](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Maybe.html#t:Maybe).

Permit absence but reject a second match, with the same traversal behavior
 as [`exactlyOne`](/en/haskell/latest/reference/libtmux-query-v-exactlyone/). Use ordinary `listToMaybe` when choosing the first is intended.

## Referenced declarations

- [`LibTmux.Query.CardinalityError`](/en/haskell/latest/reference/libtmux-query-t-cardinalityerror/) (data type)

## Guides

Pages that discuss `atMostOne`.

- [Typed queries](/en/haskell/latest/guides/query/)
