code: function() {
      var code = "return function " + this.name + "() {";
      code += "var len = arguments.length;";
      code += recurseTree(this.tree,-1);
      code += "throw new ReferenceError('signature not found');";
      code += "}";
      var func = new Function("functions",code);
      return func(this.functions);
    }
docs: .toFunction()