 
   compileNode: (o) ->
     for prop, i in @properties when (prop.variable or prop).base instanceof Parens
-      return @compileDynamic o, i
-    o.indent = @idt 1
+      rest = @properties.splice i
+      break
+    o.indent    = idt = @idt 1
     nonComments = (prop for prop in @properties when prop not instanceof Comment)
     lastNoncom  = last nonComments
     props = for prop, i in @properties

      else
        acc = prop.base
        [key, val] = acc.cache o, LEVEL_LIST, ref
        ref = val
      key = if acc instanceof Literal and IDENTIFIER.test key
        '.' + key
      else
        '[' + key + ']'
      code += "#{obj}#{key} = #{val}, "
    code += obj
    if o.level <= LEVEL_PAREN then code else "(#{code})"

  assigns: (name) ->

        '\n'
      else
        ',\n'
      indent = if prop instanceof Comment then '' else idt
      if prop instanceof Value and prop.tags.this
        prop = new Assign prop.properties[0].name, prop, 'object'
      else if prop not instanceof Assign and prop not instanceof Comment
        prop = new Assign prop, prop, 'object'
      indent + prop.compile(o) + join
    props = props.join ''
    obj   = "{#{ props and '\n' + props + '\n' + @tab }}"
    return @compileDynamic o, obj, rest if rest
    if @tags.front then "(#{obj})" else obj

  compileDynamic: (o, code, props) ->
    code = "#{ oref = o.scope.freeVariable 'obj' } = #{code}, "
    for prop, i in props
      if prop instanceof Comment
        code += prop.compile(o) + ' '
        continue
