# E4003

This is a reserved type name. Cannot declare it as a type variable, type, or trait.

## Erroneous Example

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

`Error` is the reserved name for the built-in error type, so it cannot be used for a
custom type. This will give the following error on line 1:

```
"Error" is a reserved type name. Cannot declare it as type
```

## Suggestion

Consider using another name for your type, such as `MyError` or `Error_`.

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