(私もちょっと寄稿しています)
instance (Bounded a, Enum a) => Ix a って {-# LANGUAGE UndecidableInstances #-} も必要な奴では。RankNTypes を入れた時点で型推論は停止しなくなるので、最近のHaskellでは「型推論の停止性(笑)」状態っぽいですけどrange :: Enum a => (a, a) -> [a] 等にしてしまったらどうか、と思ったんですが、例えばVoidはIxではあるけどEnumではないんですねYou can't call some Foldable methods over Maybe and some other types. Foldable generalization is useful but potentially error-prone. Instead we created our own fully compatible with Foldable Container type class but that restricts the usage of functions like length over Maybe, Either, Identity and tuples.:thinking_face: :thinking_face: :thinking_face: :thinking_face: :thinking_face:
<details> 入れてからかな... 確認します