In a functional language, writing recursive functions is common, but it is also possible to write recursive values. Here is a simple example of a recursive value:
ones = 1 :: onesThis is an infinite loop. We just keep growing the ones list to infinity. So #873 logged folks running into this and made it an error. This was especially nice for cases like x = x + 1 where folks were expecting Elm to allow mutation.