Composition is completely hamstrung by a simple syntactic flaw: the begin- and end-delimiters for all the quoting forms are indistinguishable. So if I write:
`ls `pwd`/files`the shell cannot determine whether the second occurrence of the backtick (`) character is ending the command or starting a sub-command.
This wouldn't be so terrible if there were a reasonable form for local binding so you could write your shell commands in A-normal form.