Programming is a matter of externalizing one's will. The programmer is trying to communicate with the computer what their will is. Programming is not building something to a known specifications. Programming is really a conversation, an interactive relationship with the medium.
What if we could communicate with the compiler? What would the ideal communication pattern be like?
Code completion is most interesting in a live-coding environment (like Makepad) where the code's result can be quickly and easily visualized.
How might this work? In the JavaScript world, we already have live reload - what if I could review the different variations generated by the suggested code completions.
The problem with block-level completions is you have to read the entire block in order to understand what's happening.
You also have to know how to program, generally. Code completions could be an incredibly powerful tool