# `syntax.type_block_required`

Type has no block.

Area 2, [Values and types](../topics/values-and-types.md); not declinable; the next step is usually the agent's.

A type always has a block, even an empty one, so it never reads like an alias:

```jadpo
type OrderId = Uuid
```

```text
error: `OrderId` needs a block
 --> main.jadpo:1:16
  |
1 | type OrderId = Uuid
  |                ^^^^ expected `{}` after the base
  reason: Every type is written `type Name = Base { ... }`. Without a block it reads like an alias, and Jadpo has no aliases: every type is a new type.
  next: Add `{}` after `Uuid` (agent)
  rule: syntax.type_block_required
  help: https://jadpo.dev/docs/errors/syntax.type_block_required

check failed: 1 error, 1 file
```
