# E4008

FFI function cannot have type parameters.

## Erroneous Example

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

The example declares an FFI function (marked `extern`) with a type parameter,
which is not allowed.

## Suggestion

Consider using a concrete type that suits your needs:

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

For more complicated scenarios, consider adding an extra trait:

```{literalinclude} /sources/error_codes/4008_fixed/top_1.mbt
:language: moonbit
```
