Unary + appends zero to lists. Example: acid: +{} {0x00000000} acid: +{1} {0x00000001, 0x00000000} acid: defn x() { return {1} ; } acid: +x() {0x00000001, 0x00000000} Cause: The parser converts '+x' to 'x+0'. Such is reasonable for numeric arguments and has no effect on strings. Unfortunately for lists, it results in a zero being appended. This patch: The parser converts '+x' to 'x+ZN' and oadd() handles the ZN rhs when the expression is evaluated. Patched: acid: +{} acid: +{1} {0x00000001} acid: defn x() { return {1} ; } acid: +x() {0x00000001}