diff --git a/fficxx.cabal b/fficxx.cabal
--- a/fficxx.cabal
+++ b/fficxx.cabal
@@ -1,5 +1,5 @@
 Name:           fficxx
-Version:        0.5
+Version:        0.5.0.1
 Synopsis:       automatic C++ binding generation
 Description:    automatic C++ binding generation
 License:        BSD3
diff --git a/lib/FFICXX/Generate/Code/Cabal.hs b/lib/FFICXX/Generate/Code/Cabal.hs
--- a/lib/FFICXX/Generate/Code/Cabal.hs
+++ b/lib/FFICXX/Generate/Code/Cabal.hs
@@ -16,7 +16,7 @@
 
 import Data.Aeson.Encode.Pretty    (encodePretty)
 import qualified Data.ByteString.Lazy as BL
-import Data.List                   (intercalate,nub)
+import Data.List                   (nub)
 import Data.Monoid                 ((<>))
 import Data.Text                   (Text)
 import Data.Text.Template          (substitute)
diff --git a/lib/FFICXX/Generate/Type/Class.hs b/lib/FFICXX/Generate/Type/Class.hs
--- a/lib/FFICXX/Generate/Type/Class.hs
+++ b/lib/FFICXX/Generate/Type/Class.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE RecordWildCards #-}
@@ -15,9 +16,9 @@
 -----------------------------------------------------------------------------
 
 module FFICXX.Generate.Type.Class where
-
 import qualified Data.Map                     as M
-import           Data.Monoid                       ( (<>) )
+import           Data.Monoid                       (Monoid(..))
+import           Data.Semigroup                    (Semigroup(..),(<>))
 --
 import           FFICXX.Generate.Type.Cabal
 
@@ -170,8 +171,7 @@
 --------
 
 newtype ProtectedMethod = Protected { unProtected :: [String] }
-                        deriving (Monoid)
-
+                        deriving (Semigroup, Monoid)
 
 data ClassAlias = ClassAlias { caHaskellName :: String
                              , caFFIName :: String
diff --git a/lib/FFICXX/Generate/Util/HaskellSrcExts.hs b/lib/FFICXX/Generate/Util/HaskellSrcExts.hs
--- a/lib/FFICXX/Generate/Util/HaskellSrcExts.hs
+++ b/lib/FFICXX/Generate/Util/HaskellSrcExts.hs
@@ -14,6 +14,7 @@
 
 module FFICXX.Generate.Util.HaskellSrcExts where
 
+import           Data.Maybe                          (maybeToList)
 import           Data.List                           (foldl')
 import           Language.Haskell.Exts        hiding (unit_tycon)
 import qualified Language.Haskell.Exts               (unit_tycon)
