There is a post that Mike wrote that describes the thinking behind Ash's declarative approach
https://alembic.com.au/blog/declarative-programming
I just wrote a post which attempts to explain the big ideas in Ash as I see it. Would love your feedback on whether this helps answer your excellent questions