# Breaking changes to make for v2

## `[1 ..]` syntax

Due to a bug in the parser we accept `[1, ..]` as a valid list value.

- [x] Emits warning when used.
- [x] Formatter rewrites it to desired syntax.

## `_ as a` syntax

This pattern doesn't make sense as one could write `a` instead. We don't want
two ways of doing the same thing.

- [X] Emits warning when used.
- [X] Formatter rewrites it to desired syntax.

## Shadowing imported values

Do not allow shadowing an imported value, the same way one can't define two
top level functions with the same name.

- [ ] Emits warning when used.

## Import one module multiple times

Do not one module to be imported multiple times. This is currently accepted so
long as each import uses a different alias.

- [x] Emits warning when used.

## JavaScript runtime error `fn` property

On JavaScript there is a deprecated `fn` property. This was a mistake, it
should have been `function`. It still exists today due to backwards
compatibility.
