 exports.CodeNode: class CodeNode extends BaseNode
 
   constructor: (params, body, tag) ->
+    super {name: 'CodeNode', children: ['params', 'body']}
     @params:  params or []
     @body:    body or new Expressions()
     @bound:   tag is 'boundfunc'

exports.SliceNode: class SliceNode extends BaseNode

  constructor: (range) ->
    @range: range
    this

  compile_node: (o) ->
    from:       @range.from.compile(o)

exports.ForNode: class ForNode extends BaseNode

  constructor: (body, source, name, index) ->
    super {name: 'ForNode', is_statement: yes, children: ['body', 'source', 'guard']}
    @body:    body
    @name:    name
    @index:   index or null
