diff --git a/morpheus-graphql-core.cabal b/morpheus-graphql-core.cabal
--- a/morpheus-graphql-core.cabal
+++ b/morpheus-graphql-core.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           morpheus-graphql-core
-version:        0.20.0
+version:        0.20.1
 synopsis:       Morpheus GraphQL Core
 description:    Build GraphQL APIs with your favorite functional language!
 category:       web, graphql
diff --git a/src/Data/Morpheus/Internal/Graph.hs b/src/Data/Morpheus/Internal/Graph.hs
--- a/src/Data/Morpheus/Internal/Graph.hs
+++ b/src/Data/Morpheus/Internal/Graph.hs
@@ -22,7 +22,7 @@
 type Graph name = [Edges name]
 
 cycleChecking ::
-  (Applicative m, Eq name) =>
+  (Eq name, Monad m) =>
   (NonEmpty (Ref name) -> m ()) ->
   Graph name ->
   m ()
@@ -31,16 +31,13 @@
     checkNode (node, _) = cycleCheckingWith graph node [node] fail'
 
 cycleCheckingWith ::
-  (Applicative m, Eq name) =>
+  (Eq name, Monad m) =>
   Graph name ->
   Ref name ->
   [Ref name] ->
   (NonEmpty (Ref name) -> m ()) ->
   m ()
-cycleCheckingWith graph parentNode history fail' =
-  case lookup parentNode graph of
-    Just node -> traverse_ checkNode node
-    Nothing -> pure ()
+cycleCheckingWith graph parentNode history fail' = forM_ (lookup parentNode graph) (traverse_ checkNode)
   where
     checkNode node
       | node `elem` history =
