Creating Generators

That seems easily fixed:

function Base.iterate(::MyIterUnrolled, (i,j) = (1,1))
    if iseven(i)
        value = i
        new_state = (i=i+1, j=1)
    else
        value = -j
        new_state = j < i ? (i=i, j=j+1) : (i=i+1, j=1)
    end
    return value, new_state
end