Fun with Typeclasses
Ever heard of `Enum`, `Bounded`, `BoundedEnum` and `CyclicEnum`?
Tags: haskell, functional