I switched to i3 a couple of years ago, after using XMonad for about two years. Hopefully things have improved since then, but I kept falling into Cabal hell every time I tried to make a configuration change and I got fed up. At the time I concluded that XMonad was for people who use Haskell regularly and know how to navigate its package system.
The situation may have improved now that Haskell has Stack, which has revolutionized package management there...
I'm a big fan of bspwm, though, and kwm at work on macOS.
Documentation is extraordinary and really easy to follow once I understood how to read it, years ago.
The only sore spot is monstrous GHC size, that compiler needs to get much smaller to be really good from all angles.