Scrap Your Boilerplate (syb) is an infrastructure for generic programming in Haskell. (This should not be confused with the concept of "generic types" in Java, which in the Java context means parameterized types which allow you to specify the type of list elements and such things - a feature Haskell has had since its inception.) In the current GHC implementation, it consists of a set of modules (D