     splat = undefined
     params = []
     for param, i in @params
-      if splat?
+      if splat
         if param.attach
           param.assign = new AssignNode new ValueNode literal('this'), [new AccessorNode param.value]
           @body.expressions.splice splat.index + 1, 0, param.assign

# 'splat', where it gathers up a block of the parameters into an array.
exports.ParamNode = class ParamNode extends BaseNode

  class:     'ParamNode'
  children: ['name']

  constructor: (@name, @attach, @splat) -> @value = literal @name

  compileNode: (o) -> @value.compile o

  toString: (idt) ->
    if @attach then (literal "@#@name").toString idt else @value.toString idt

      end = if @trailings.length then ", #len - #{@trailings.length}"
      for trailing, idx in @trailings
        if trailing.attach
          assign        = trailing.assign
          trailing      = literal o.scope.freeVariable()
          assign.value  = trailing
        pos = @trailings.length - idx
        o.scope.assign(trailing.compile(o), "arguments[#variadic ? #len - #pos : #{@index + idx}]")
    "#name = #{utility('slice')}.call(arguments, #@index#end)"
