# E4155

Cycle in a `const` or type alias declaration.

Constants and type aliases can refer to other declarations in the same package,
but the references must not form a cycle.

## Erroneous example

```{literalinclude} /sources/error_codes/4155_error/top.mbt
:language: moonbit
```

## Suggestion

Break the cycle so that every constant and type alias eventually resolves to a
concrete value or type.

```{literalinclude} /sources/error_codes/4155_fixed/top.mbt
:language: moonbit
```
