diff --git a/morpheus-graphql.cabal b/morpheus-graphql.cabal
--- a/morpheus-graphql.cabal
+++ b/morpheus-graphql.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 4207df71e3ee77e9ae54b225cd5b0f2186ae77d3da256bd79d9856c5c51f0151
+-- hash: fe81f2e1d1a7d86ae0559141dda5d0e6bc1749b212b11ce0ba37b9f020b58e48
 
 name:           morpheus-graphql
-version:        0.1.0
+version:        0.1.1
 synopsis:       Morpheus GraphQL
 description:    Build GraphQL APIs with your favourite functional language!
 category:       web, graphql
diff --git a/src/Data/Morpheus/Resolve/Operator.hs b/src/Data/Morpheus/Resolve/Operator.hs
--- a/src/Data/Morpheus/Resolve/Operator.hs
+++ b/src/Data/Morpheus/Resolve/Operator.hs
@@ -70,7 +70,7 @@
   where
     querySchema _ = resolveTypes queryType (schemaTypes : types)
       where
-        queryType = initTypeLib (operatorType "Query" (hiddenRootFields ++ fields))
+        queryType = initTypeLib (operatorType (hiddenRootFields ++ fields) "Query")
         (fields, types) = unzip $ objectFieldTypes (Proxy @(Rep a))
 
 mutationSchema ::
@@ -79,8 +79,8 @@
   -> TypeUpdater
 mutationSchema _ initialType = resolveTypes mutationType types'
   where
-    mutationType = initialType {mutation = Just $ operatorType "Mutation" fields'}
-    (fields', types') = unzip $ objectFieldTypes (Proxy :: Proxy (Rep a))
+    mutationType = initialType {mutation = maybeOperator fields "Mutation"}
+    (fields, types') = unzip $ objectFieldTypes (Proxy :: Proxy (Rep a))
 
 subscriptionSchema ::
      forall a m. IntroCon a
@@ -88,10 +88,13 @@
   -> TypeUpdater
 subscriptionSchema _ initialType = resolveTypes mutationType types'
   where
-    mutationType = initialType {subscription = Just $ operatorType "Subscription" fields'}
-    (fields', types') = unzip $ objectFieldTypes (Proxy :: Proxy (Rep a))
+    mutationType = initialType {subscription = maybeOperator fields "Subscription"}
+    (fields, types') = unzip $ objectFieldTypes (Proxy :: Proxy (Rep a))
 
-operatorType :: Text -> a -> (Text, DataType a)
-operatorType name' fields' =
-  ( name'
-  , DataType {typeData = fields', typeName = name', typeFingerprint = SystemFingerprint name', typeDescription = ""})
+maybeOperator :: [a] -> Text -> Maybe (Text, DataType [a])
+maybeOperator []     = const Nothing
+maybeOperator fields = Just . operatorType fields
+
+operatorType :: [a] -> Text -> (Text, DataType [a])
+operatorType typeData typeName =
+  (typeName, DataType {typeData, typeName, typeFingerprint = SystemFingerprint typeName, typeDescription = ""})
