     idx: @index.compile o
     "[$idx]"
 
-type IndexNode, 'IndexNode'
-children IndexNode, 'index'
+register IndexNode, {name: 'IndexNode', children: ['index']}
 
 #### RangeNode
 

    children: (child.toString(idt + TAB) for child in @children()).join('')
    "\n$idt$children"

type CodeNode, 'CodeNode'
children CodeNode, 'params', 'body'

#### SplatNode


    plus_part:  if @range.exclusive then '' else ' + 1'
    ".slice($from, $to$plus_part)"

register SliceNode, {name: 'SliceNode', children: ['range']}

#### ObjectNode

