withParam(value) {
        let g = this._copy();
        g.param = value;
        g._withParamRecomputeFunc(g);
        return g;
    }
Sets an arbitrary json value, saved and restored with the circuit, that the gate's custom functions may use.
@param {undefined|!string|!number|!Array} value
@returns {!Gate}