     @children.push(prop)
     this
 
+  operation_sensitive: ->
+    true
+
   has_properties: ->
     !!@properties.length
 

Node::compile: (o) ->
  @options: merge o or {}
  @indent:  o.indent
  top:      if @top_sensitive() then @options.top else del @options, 'top'
  closure:  @is_statement() and not @is_statement_only() and not top and
            not @options.returns and not (this instanceof CommentNode) and

    @last: parts[parts.length - 1]
    @source: if parts.length > 1 then parts[0...(parts.length - 1)].join('') else null
    code: parts.join('').replace(/\)\(\)\)/, '()))')
    if op and soaked then '(' + code + ')' else code

}

