ऐसा लगता है कि किसी भी बंधे हुए उदाहरण में Enum का एक सामान्य कार्यान्वयन होना चाहिए। मैं व्यक्तिगत रूप से एक प्रतिरूप के बारे में नहीं सोच सकता, हालांकि अगर कोई व्यक्ति ऐसा है जो रोगविज्ञानी नहीं है तो मैं समझूंगा कि ऐसा क्यों नहीं है।
:iदो टाइपकास्टेस पर करने से ऐसा लगता है कि मानक पुस्तकालय में वर्तमान में एकमात्र अपवाद ट्यूपल्स के लिए है, जो बाउंडेड हैं, लेकिन एनम नहीं। हालाँकि, किसी भी बंधे हुए टपल को भी एक सार तरीके से Enumerable होना चाहिए, बस अंतिम तत्व को बढ़ाना और फिर जब यह अधिकतम हो जाता है तो चारों ओर लपेटना।
यह परिवर्तन शायद भी जोड़ने शामिल होगा predBऔर nextB/ एक सुरक्षित के लिए या घिरा करने के लिए ऐसा ही कुछ Enum मूल्यों के माध्यम से पार करने के लिए जिस तरह से पाशन। इस मामले में toEnum 0 :: (...)बराबर होगा(toEnum 0, toEnum 0, ...) :: (...)
Double/ Floatऔर सभी समान प्रकार Enumवैसे भी लागू होते हैं , वे बस बनाते हैं succ = (+ 1)और fromEnum = truncate। हास्केल का तरीका वास्तव में व्यावहारिकता के दृष्टिकोण से समझ में आता है, अन्यथा [0, 0.5 ..] और इसी तरह से काम नहीं करेगा, इसलिए ऐसा लगता है कि हस्केल जब एनम की बात करते हैं, तो उनकी गिनती के बारे में चिंता नहीं होती है।