function assertThatCircuitShaderActsLikePermutation(wireCount, shaderMaker, permutation, permuteInfo=undefined) {
    assertThatCircuitUpdateActsLikePermutation(
        wireCount,
        ctx => ctx.applyOperation(shaderMaker(ctx)),
        permutation,
        permuteInfo)
}
@param {!int} wireCount The number of wires in the circuit.
@param {!function(!CircuitEvalContext) : !WglConfiguredShader} shaderMaker Makes the shader to apply.
@param {!function(!int) : !int} permutation The expected permutation.
@param {*} permuteInfo Debug info included when the assertion fails.