The parser needs work; it thinks "${DEBUG:-0}" is not valid shell.

(explainshell.com is only slightly better; it doesn't explain the parameter expansion, which would be very useful as there's 30 different kinds of expansion. see https://www.gnu.org/software/bash/manual/bash.html#Shell-Exp...)