@stroughtonsmith Fundamentally declarative programming is best kept in academia.
It’s cool, but the problem is that the abstraction breaks down as soon as non-functional aspects become important, eg performance.. or you have a bug.
Now suddenly you need to understand how it works.. or rather how its engine works.. which happens to be a black box.. so you need to probe it, to theorize about what might be going on.. and the whole thing descents from high level abstraction into tinkering.