Excel, the most successful programming environment for non-programmers, is functional in nature, so I don't doubt that functional is the way to go. Elm's syntax leaves me a bit more skeptical, though.
Positional arguments are a big nono for me. When I read the code, there's too much overhead to knowing what things do. One of the nice things about HyperTalk is that it's a bit self describing.
One of these three is entirely non-obvious
image 472 315 "/stack.jpg"
Insert Image "/stack.jpg" with width 472 and height 415
image {width: 472, height: 315, filename: "/stack.jpg"}