lib/treehugger/tree.js
function ConsNode(cons, children) {
    this.cons = cons;
    for(var i = 0; i < children.length; i++) {
        this[i] = children[i];
    }
    this.length = children.length;
}
function ConsNode(cons, children) {
    this.cons = cons;
    for(var i = 0; i < children.length; i++) {
        this[i] = children[i];
    }
    this.length = children.length;
}
function ConsNode ( cons , children ) { this . cons = cons ; for ( var i = 0 ; i < children . length ; i ++ ) { this [ i ] = children [ i ] ; } this . length = children . length ; }
Represents a constructor node

Example: Add(Num("1"), Num("2")) is constucted
using new ConsNode(new ConsNode("Num", [new StringNode("1")]),
new ConsNode("Num", [new StringNode("2")]))
or, more briefly:
tree.cons("Add", [tree.cons("Num", [ast.string("1"), ast.string("2")])])
Represents a constructor node