Zaslat SMS: Comparing Approaches to Generic Programming in Haskell