           for el in node.elements
             await interp el, env, defer(elValue), errCont)
       else
-        console.log "Unrecognized node!"
-        console.log node
-        errCont('Unrecognized node!')
+        errCont("Unrecognized node '#{node.name}'!")
   catch e
-    if e not instanceof InterpreterException
-      e = new JSException e, node
-    errCont(e)
+    errCont(new JSException e, node)
 
 evalMemberExpr = (node, env, cont, errCont) ->
   await interp node.object, env, defer(object), errCont

            when '|='
              original |= value
            else
              throw "Unrecognized compound assignment #{node.operator}"
          if node.left.type is 'Identifier'
            env.insert node.left.name, original
          else if node.left.type is 'MemberExpression'

            await evalMemberExpr node.left, env, defer(object, property), errCont
            original = object[property]
          else
            errCont "Invalid LHS in assignment"
          switch node.operator
            when '+='
              original += value
