HC10T1: Define a new type class ShowSimple that requires a function showSimple :: a -> String for simple string conversion. Implement an instance for PaymentMethod type.
HC10T2: Create a type class Summable that provides a sumUp :: [a] -> a. Implement it for the type Int.
HC10T3: Define a type class Comparable with a function compareWith :: a -> a -> Ordering. Implement it for Blockchain.
HC10T4: Create a parameterized type Box a and make it an instance of Eq.
HC10T5: Define a type class ShowDetailed with a function showDetailed :: a -> String and implement it for a type User.
HC10T6: Modify the Eq type class to use mutual recursion between == and /= in an instance for the Blockchain type.
HC10T7: Create a type class Convertible with convert :: a -> b and implement it for converting PaymentMethod to String.
HC10T8: Define a subclass AdvancedEq of Eq with an additional method compareEquality :: a -> a -> Bool.
HC10T9: Implement a type class MinMax with methods minValue :: a and maxValue :: a, and provide instances for Int.
HC10T10: Create a type class Concatenatable with a function concatWith :: a -> a -> a. Implement it for the type [Char].
HC11T1: Create a WeAccept instance for the Box type and write a function that returns a list of accepted boxes.
HC11T2: Implement the fancyFunction for the WeAccept type class and test it with various types like Cardano, Cash, and Country.
HC11T3: Define a Container type class with the methods isEmpty, contains, and replace, then implement an instance for the Box type.
HC11T4: Implement the Container type class for the Present type.
HC11T5: Create a function guessWhat'sInside that takes a Container and checks if a specific item is inside.
HC11T6: Define a type class AdvancedEq that extends Eq and adds a method compareEquality, then implement it for the Blockchain type.
HC11T7: Implement the Ord instance for the Box type using the compare function.
HC11T8: Derive the Eq and Ord instances for the PaymentMethod and test comparisons.
HC11T9: Define a new data type Length with constructors M and Km, derive Eq, and manually fix comparisons between meters and kilometers.
HC11T10: Implement a function sortContainers that sorts a list of containers using the derived Ord instance.
Finished. Congratulations! Get your progress token here