A Comparison of Elimination Patterns and Sum Types.[Haskell]