 process.mixin require './scope'
+_: require('./underscore')._
 
 # Some helper functions
 


  # Compile a vanilla function call.
  compile_node: (o) ->
    return @compile_splat(o) if any @args, (a) -> a instanceof SplatNode
    args: (arg.compile(o) for arg in @args).join(', ')
    return @compile_super(args, o) if @variable is 'super'
    @prefix + @variable.compile(o) + '(' + args + ')'

  (fresh[key]: val) for key, val of src
  (fresh[key]: val) for key, val of dest
  fresh

# Delete a key from an object, returning the value.
del: (obj, key) ->
