elm の = は一見代入してるようだけど 関数が定義されてて評価時に実行されてるみたい

> a = 10
10 : number
> b = a + 1
11 : number
> b
11 : number
> a = 11
11 : number
> b
12 : number

b が 11 になった後に計算に使ってる a を変えると b も変わる

a = a + 1

っていうインクリメント的な物を書いたら a の結果を取得するときに

a + 1
(a + 1) + 1
((a + 1) + 1) + 1

みたいに無限ループになる

なのでこれを実行すると cyclic definition のエラーメッセージが表示される

-- CYCLIC DEFINITION ------------------------------------------------------ REPL


The `a` value is defined directly in terms of itself, causing an infinite loop.

2| a = a + 1
^
Are you are trying to mutate a variable? Elm does not have mutation, so when I
see a defined in terms of a, I treat it as a recursive definition. Try giving
the new value a new name!

(略)

メッセージの 「Are you are」 はすでに修正済みだったので まだ修正版が npm の最新版になってないだけみたい
https://github.com/elm/compiler/issues/2046