Sepertinya instance Bounded harus memiliki implementasi Enum yang waras. Saya pribadi tidak bisa memikirkan contoh tandingan, meskipun jika seseorang menemukan yang tidak patologis maka saya akan mengerti mengapa ini tidak terjadi.
Dari melakukan :ipada dua typeclasses sepertinya satu-satunya pengecualian saat ini di perpustakaan standar adalah untuk tupel, yang Dibatasi tetapi tidak Enum. Namun tuple Terikat juga harus Enumerable dengan cara yang waras, dengan hanya menambah elemen terakhir dan kemudian membungkus ketika sampai ke maxBound.
Perubahan ini mungkin juga akan melibatkan penambahan predBdan nextBatau sesuatu seperti itu ke Dibatasi untuk cara yang aman / berulang untuk melintasi melalui nilai-nilai Enum. Dalam hal ini toEnum 0 :: (...)akan sama dengan(toEnum 0, toEnum 0, ...) :: (...)
Double/ Floatdan semua jenis yang sama Enumtetap menerapkan , mereka hanya membuat succ = (+ 1)dan fromEnum = truncate. Cara Haskell benar-benar masuk akal dari perspektif kepraktisan sebagaimana sebaliknya [0, 0,5 ..] dan yang serupa tidak akan berhasil, sehingga tampaknya Haskell tidak khawatir tentang kemampuan berhitung ketika datang ke Enums.