The thing I call toolbox languages is a form of high-level assembler (!).
Toolbox languages strive for machine-readability instead of human-readability.
Machine-readability comes from expunging edge-cases.
Machine-writability comes from expunging edge-cases, too.
I want to write code that writes code.
I want to write comments that write code.
I think that Relational Programming is the atom of the 1st step in software design.
There are only 2 steps:
Relational programming is well-suited to step (1) but is not well-suited for step (2).
Yes, it is possible to perform step (2) using only relational programming, but it is simpler to express step (2) in some other form, even printf is better (!) at this.
I favour choosing the right paradigm for the job, instead of choosing one paradigm for all jobs.