[Haskell-cafe] Symbolic differentation using GHC's simplification rules