diff --git a/d-bus.cabal b/d-bus.cabal
--- a/d-bus.cabal
+++ b/d-bus.cabal
@@ -1,5 +1,5 @@
 name:                d-bus
-version:             0.1.1
+version:             0.1.2
 synopsis:            Permissively licensed D-Bus client library
 description:         This library uses modern extensions to the Haskell type system
                      (including GADTs, DataKinds and TypeFamilies) and the
diff --git a/src/DBus/Types.hs b/src/DBus/Types.hs
--- a/src/DBus/Types.hs
+++ b/src/DBus/Types.hs
@@ -155,7 +155,12 @@
   flattenRepType :: DBusType -> [DBusType]
   flattenRepType TypeUnit              = []
   flattenRepType (TypeStruct ts)       = ts
-  flattenRepType (DBusSimpleType t)  = [DBusSimpleType t]
+  flattenRepType t@(DBusSimpleType _ )  = [t]
+  flattenRepType t@(TypeArray _)  = [t]
+  flattenRepType t@(TypeDict _ _)  = [t]
+  flattenRepType t@(TypeDictEntry _ _)  = [t]
+  flattenRepType t@(TypeVariant)  = [t]
+
   |]
 
 -- | A Transformer for (IO) actions that might want to send a signal.
