Thanks for the response! I had already looked at those modules but I realize I was just configuring things incorrectly.
XMonad.Actions.CycleWindows and XMonad.Actions.CycleRecentWS did the trick.
I came across the key check and found it helpful.
startupHook = return () >> checkKeymap myConfig myKeys
I suppose there are probably situations where one does not want a warning, but it would be nice to run the keycheck by default.