Есть функция:
squareHead : Num a => List a -> a
squareHead (x :: xs) = x * x
по хорошему, оно компилироваться не должно (но компилируется).
В Haskell при пустом списке оно просто выкинет exception, а здесь оно возвращает что-то не совсем понятное:
λΠ> squareHead []
squareHead [] : Integer
λΠ> cast (squareHead []) / 3.0
prim__divFloat (prim__toFloatBigInt (squareHead [])) 3.0 : Double
ЯННП.