Revised effects and structure types in Haskell CG. This now generates correct Haskell types for function declarations and triggers.