export function* interleaveColumns2d(opts: InterleaveOpts2D) {
    const { cols, rows, tx } = __opts(opts);
    const step = (opts.step != null ? opts.step : 2) | 0;
    for (let j = 0; j < step; j++) {
        yield* map((p) => tx(p[1], p[0]), range2d(0, rows, j, cols, 1, step));