                 argv
                                                                 
         visitCallExpression: (n) ->
-                debug.log "visitCall #{JSON.stringify n}"
-                debug.log "          arguments length = #{n.arguments.length}"
-                debug.log "          arguments[#{i}] =  #{JSON.stringify n.arguments[i]}" for i in [0...n.arguments.length]
+                debug.log -> "visitCall #{JSON.stringify n}"
+                debug.log -> "          arguments length = #{n.arguments.length}"
+                debug.log -> "          arguments[#{i}] =  #{JSON.stringify n.arguments[i]}" for i in [0...n.arguments.length]
 
                 intrinsicHandler = @ejs_intrinsics[n.callee.name.slice(1)]
                 if not intrinsicHandler

                rv
                
        visitBinaryExpression: (n) ->
                debug.log "operator = '#{n.operator}'"
                builtin = "binop#{n.operator}"
                callee = @ejs_runtime[builtin]
                if not callee

                                console.warn JSON.stringify param
                                throw "we don't handle destructured args at the moment."

                debug.log -> "alloca #{alloca}" for alloca in allocas
        
                # now store the arguments (use .. to include our args array) onto the stack
                for i in [0..BUILTIN_PARAMS.length]
                        store = irbuilder.createStore ir_args[i], allocas[i]
                        debug.log -> "store #{store} *builtin"

                # initialize all our named parameters to undefined
                args_load = irbuilder.createLoad args_alloca, "args_load"
