module Types where data G2 = No | Yes deriving (Eq, Ord, Show) data P1 = The deriving (Eq, Ord, Show) data P2 = This | That deriving (Eq, Ord, Show) data G6 = ToReject | Insufficient | Acceptable | Good | VeryGood | Perfect | TooGood deriving (Bounded, Enum, Eq, Ord, Show) -- | Note that the grades 1, 2, 4, and 12 are absent. data DanishSchoolGrade = D0 -- ^ the completely unacceptable performance | D3 -- ^ the very hesitant, very insufficient, and unsatisfactory performance | D5 -- ^ the hesitant and not satisfactory performance | D6 -- ^ the just acceptable performance | D7 -- ^ the mediocre performance, slightly below average | D8 -- ^ the average performance | D9 -- ^ the good performance, a little above average | D10 -- ^ the excellent but not particularly independent performance | D11 -- ^ the independent and excellent performance | D13 -- ^ the exceptionally independent and excellent performance deriving (Bounded, Enum, Eq, Ord, Show)