src/lazy/lazyCode.js
function(args, fn, type) {
    this.args = args;
    this.fn = fn;
    this.type = type;

    this.id = prefix + _code_node_id_count++;
}
function(args, fn, type) {
    this.args = args;
    this.fn = fn;
    this.type = type;

    this.id = prefix + _code_node_id_count++;
}
function ( args , fn , type ) { this . args = args ; this . fn = fn ; this . type = type ; this . id = prefix + _code_node_id_count ++ ; }
Normally, when reduce a production, will new a LazyCode object

TODO fast way to indicate ancestor-descendant relationship
Normally when reduce a production will new a LazyCode object