Scrap Your Boilerplate (SYB) is a library for generic programming in Haskell. It is supported since the GHC >= 6.0 implementation of Haskell. Using this approach, you can write generic functions such as traversal schemes (e.g., everywhere and = everything=), as well as generic read, generic show and generic equality (i.e., gread, = gshow=, and = geq=). This approach is based on just a few primitiv