     # make it friendly to 'lisp-to-array' package
     chunk = chunk.replace /'\(/g, '(__number__ '
     chunk = chunk.replace /\("/g, '(__string__ "'
-    chunk = chunk.replace /\(\)/g, '(error)'
+    chunk = chunk.replace /\(\)/g, '(__nil__)'
     return chunk
 
 # cosmetic surgery, recursively


            when "`"
                # ["`", "some string"] => "some string"
                return node[1]

            when "__number__", "__string__"
                # ["number", 1, 2, 3] => [1, 2, 3]
                node.shift()
                return postprocess node


                # keep traversing
                return node.map (x) -> postprocess x
    else
        # some ()s in strings were replaced with (__nil__) when preprocessing
        return node.replace?('(__nil__)', '()')

module.exports = ParseSExpr
