       return @compileSplatLiteral o
     objects = []
     for obj, i in @objects
-      code = obj.compileBare o
+      code = obj.compile o, LVL_LIST
       objects.push (if obj instanceof Comment
         "\n#{code}\n#{o.indent}"
       else if i is @objects.length - 1

  compilePatternMatch: (o) ->
    top  = del o, 'top'
    otop = merge o, top: yes
    if (value = @value).isStatement o then value = Closure.wrap value
    {objects} = @variable.base
    return value.compile o unless olength = objects.length
    isObject = @variable.isObject()

      "typeof #{code} !== \"undefined\" && #{code} !== null"
    else
      "#{code} != null"
    if o.level <= LVL_COND then code else "(#{code})"

#### Parens

