An updated version of the Haskell SG library (by Neil Brown)