# E4160

Type 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 interface has different types.

## Erroneous example

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

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

## Suggestion

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

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