Thanks for the help! Just for completeness I will try to address my question with the best best solution I know so far:
W.data.copy(new_value.data)
not sure if this is good or if there are advantages and disadvantages to it but Im going to leave it here for future people to benefit (and or discuss).
I guess its a little sad that:
W = W - eta*W.grad
doesn’t work cuz now it looks less like maths and a bit harder to read but eh, Im being a bit pedantic…