       c "nodes[#{io[name]}].connect(nodes[#{ctx.dest}]);" if ctx.dest
       return io[name]
     me = ++tail
-    p "nodes[#{me}] = io['#{name}'] = Wani.createAudioParam(ctx); // make io"
+    p "nodes[#{me}] = io['#{name}'] = Wani.createAudioParam(ctx);"
     c "nodes[#{me}].connect(nodes[#{ctx.dest}]);" if ctx.dest
     io[name] = me
     return me

  else if tree.op == '*'
    me = ++tail
    multiplier = ++tail
    p "nodes[#{me}] = ctx.createGain();  // multi(#{me})"
    p "nodes[#{multiplier}] = nodes[#{me}].gain;"
    p "nodes[#{multiplier}].value = 0.0;"
    _generate tree.l, {dest: me}
    _generate tree.r, {dest: multiplier}
    if ctx.dest
      c "nodes[#{me}].connect(nodes[#{ctx.dest}]); // to output from multi(#{me})"
    return me
  else if tree.op == '/'
    throw "division is not supported :P"

      c "nodes['#{io[name]}'].connect(nodes[#{ctx.dest}]);" if ctx.dest
      return io[name]
    me = ++tail
    p "nodes[#{me}] = io['#{name}'] = ctx.createGain();"
    c "nodes[#{me}].connect(nodes[#{ctx.dest}]);" if ctx.dest
    io[name] = me
    return me
