# TSR1402: '…' needs an explicit type argument in sound mode, e.g. '…<User>(...)'.

> A @ts-r.dev/guard helper such as parse or fetchJson is called without a type argument. Write the type you expect: parse<User>(...).

## What it means

The typed helpers from `@ts-r.dev/guard` (`parse`, `fetchJson` and the others) build a validator from their type argument, so it must be written explicitly. It's reported at the call.

## Example

```ts
// parse needs an explicit type argument.
import { parse } from "@ts-r.dev/guard";

const v = parse(JSON.parse("{}")); // @expect TSR1402
export const got: unknown = v;
```

## How to fix

- Add the type argument: `parse<User>(value)`, `fetchJson<User>("/api/user")`.

Sound mode is defined in [design record 0007](https://github.com/Webb-Ventures/typescript-rust/blob/main/docs/design/0007-sound-mode.md) (accepted 2026-10-15).

Source: https://ts-r.dev/errors/TSR1402/
