     ref   = o.scope.freeVariable 'ref'
     val   = @value.compile(o)
     "([].splice.apply(#{name}, [#{from}, #{to}].concat(#{ref} = #{val})), #{ref})"
+
+  assigns: (name) ->
+    @[if @context is 'object' then 'value' else 'variable'].assigns name
 
 #### Code
 


  isComplex: ->
    @base.isComplex() or @hasProperties()

  makeReturn: ->
    if @properties.length then super() else @base.makeReturn()

  compileNode: (o) ->
    top = del o, 'top'
    o.indent = @idt 1
    nonComments = prop for prop in @properties when prop not instanceof Comment
    lastNoncom  = last nonComments
    props = for prop, i in @properties
      join = if i is @properties.length - 1
        ''
      else if prop is lastNoncom or prop instanceof Comment
        '\n'
      else
        ',\n'
      indent = if prop instanceof Comment then '' else @idt 1
      if prop instanceof Value and prop.tags.this
        prop = new Assign prop.properties[0].name, prop, 'object'
