# E4144

This is a constant, not a constructor, it cannot be applied to arguments.

This error occurs when you try to use a constant as a constructor in pattern.
One possible reason for this error is that you have a constant with the same
name as an constructor from some other packages, and in such case you need to
either use qualified name or type annotations to disambiguate.

## Erroneous example

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

## Suggestion

If you want to match against the constant, you can remove the payload from the
pattern.

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

Or if the constant has the same name as a constructor from some other packages,
you can use qualified name or type annotations to disambiguate.

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