The reason code completion is easier with this design is that I don't need to deal with any nREPL server; Nightlight can just go to the relevant namespace and ask for the available symbols.
You are wrong that it is context-less code completion. In fact, I use the same library that CIDER does: https://github.com/alexander-yakushev/compliment I pass the entire top-level form to the library so it can make intelligent choices about what to complete. Here's how it works: https://github.com/alexander-yakushev/compliment/wiki/Exampl...