 
   top_sensitive: ->
     true
+
+  toString: (idt) ->
+    idt: (idt || '') + TAB
+    children: _.flatten [@params, @body.expressions]
+    @type + '\n' + _.map(children, (child) -> idt + child.toString(idt)).join('')
 
 }
 

  type: 'Expressions'

  constructor: (nodes) ->
    @children: @expressions: _.compact flatten nodes or []
    this

  # Tack an expression on to the end of this expression list.

  SOAK: " == undefined ? undefined : "

  constructor: (base, properties) ->
    @children:   _.flatten [@base: base, @properties: (properties or [])]
    this

  push: (prop) ->
