function ketArgs(ctx, span=undefined, input_letters=[]) {
    let result = [
        ctx.stateTrader.currentTexture,
        ctx.controlsTexture,
        WglArg.float("_ketgen_step", 1 << ctx.row)
    ];
    if (span !== undefined) {
        result.push(WglArg.float('span', 1 << span));
    }
    for (let letter of input_letters) {
        result.push(...ketInputGateArgs(ctx, letter));
    }
    return result;
}
Determines some arguments to give to a shader produced by one of the ketShader methods.

@param {!CircuitEvalContext} ctx The context in which the ket shader is being applied.
@param {undefined|!int=undefined} span The number of qubits this shader applies to (if wasn't known ahead of time).
@param {undefined|!Array.<!string>} input_letters The input gates that this shader cares about.
@returns {!Array.<!WglArg>}