# ::unhandled-tt


**Key:** `::unhandled-tt`

**Category:** shape · **Severity:** error

**Source:** [`src/diag/hints.nix:943`](https://github.com/kleisli-io/nix-effects/blob/main/src/diag/hints.nix#L943)

the unit value `tt` has no inference rule — there is exactly one type it can inhabit. The kernel still asks for an annotation to keep inference syntax-directed. Use `ann tt unit` at the use site, or check `tt` against an expected `unit` type.

## Example

`Hint::unhandled-tt` means `tt` is in inference mode without an expected Unit type. The example shows the failing form first, then one way to give the checker the missing structure.

```nix
# Bad: tt reaches inference without an expected Unit type.
infer emptyCtx tt

# Better: annotate tt or check it against unit.
infer emptyCtx (ann tt unit)

```


---

[← All diagnostic hints](/nix-effects/diag-hints)
