Right up until the last minute this language is giving me a cornucopia of "this thing I did before has stopped working suddenly and the error message doesn't hint why"
Here, a very simple "case" statement fails, because… because the variable I assigned to wasn't used. I was sincerely not sure if I was confused about the (seemingly undocumented) whitespace rules again. No, I just needed to use the result. But I wanted to write the expression before I tried to use it. Silly me!





![-- True if two Lists are equal
listEq : List (Eq a) -> List (Eq a) -> Bool
listEq a b =
case (a, b) of
([], []) => True
(_::[], []) => False
([], _::[]) => False
(a1::ar, b1::br) =>
if a1==b1 then
listEq ar br
else False
It fails with: Can't find an implementation for Eq (Eq a)](https://pool.jortage.com/slimeglobal/cache/media_attachments/files/117/471/068/444/960/567/small/28d89e5965f81eb9.png)


![lots of lines like "Success 15943678 [5, 0, 7, 7, 1, 1, 1, 3] eq? True"](https://pool.jortage.com/slimeglobal/cache/media_attachments/files/117/471/163/746/064/641/small/1f61d695fdf9cd0a.png)

