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.