A = @fiber(d(sl(e(0.0))))
A[2:5, 4:5] = [1 2; 3 4]

A[2:5, 4:5] = B[102:105, 104:105]

A[2:5, 4:5] = [3.2 4.5; 4.5 6.7]


A[2:5, 4:5] = @view B[102:105, 104:105]

A[2:5, 4:5] = @view B[102:105, 104:105]

getindex(A, idxs_i, inds_j)

@finch @loop i j output[i, j] = A[inds_i[i], inds_j[j]]

@finch begin
    output .= 0
    @∀ i=sieve,j=:; begin
        B[inds1_i[i], inds1_j[j]] = A[inds2_i[i], inds2_j[j]]
    end
end

@finch begin
    A .= 0;
    for j=1:5;
        A[j] = 1
    end
end

sigma = [10, 5, 4, 7, 7, 2]

@finch begin
    for k in ;
        A[k] = 0
    end
    A .= zeros(10, 10)

    for j = :;
        A[j] = B[j] + C[j]
    end

    for j = 1:4;
        A[j] = B[j] + C[j]
    end

    for j = :;
        if j in 1:4
            A[j] = B[j] + C[j]
        end
    end
    for k = :;
        for j = :;
            if j == sigma[k];
                A[j] = B[j] + C[j]
            end
        end
    end
    for k = :;
        A[sigma[k]] = B[sigma[k]] + C[sigma[k]]
    end
end

#example 1
@finch begin
    A .= 0;
    for j=:;
        A[j] = B[j]
    end
end

#example 2
@finch @loop j A[j] = B[j]

@einsum A[j] = B[j]

