# E4164

Type declaration mismatch with mbti.

When a package implements a
[virtual package](/toolchain/moon/package.md#virtual-package), it is checked
against the interface of that virtual package, and this error is emitted if some
of the type declarations have different arities.

## Erroneous example

```{literalinclude} /sources/error_codes/4164_error/E4164.mbti
:language: moonbit
:caption: E4160.mbti
```

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

## Suggestion

Modify the implementation such that it has the compatible signature as the
virtual package it declared to implement.

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