# `semantic.wrong_name_kind`

Name is the wrong kind of declaration here.

Area 1, [Project layout and modules](../topics/project-layout-and-modules.md); not declinable; the next step is usually the agent's.

```jadpo
type Count = Int {
    min: 0
}

function g(x: Count) -> Count {
    return x
}

type Pair = Object {
    first: g
}
```

```text
error: `g` is a function, not a type
 --> main.jadpo:10:12
   |
10 |     first: g
   |            ^ expected a type
  reason: Here Jadpo expects a type, such as `Count` or `List<Count>`.
  next: Name a type here (agent)
  rule: semantic.wrong_name_kind
  help: https://jadpo.dev/docs/errors/semantic.wrong_name_kind

check failed: 1 error, 1 file
```
