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

          for el in node.elements
            await interp el, env, defer(elValue), errCont)
      else
        console.log "Unrecognized node!"
        console.log node
        errCont('Unrecognized node!')
  catch e
    if e not instanceof InterpreterException
      e = new JSException e, node
    errCont(e)

evalMemberExpr = (node, env, cont, errCont) ->
  await interp node.object, env, defer(object), errCont

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