let arr = [1,2,3,4,5]
let a = unsafeAddr(arr) # <------- Emphasis on unsafe
a[2] = 100
echo arr # outputs [1, 2, 100, 4, 5]
RunWhen you deal with raw memory and use `unsafeAddr` it's a bit unfair to complain that it compiles. `unsafeAddr` is an escape hatch, a contract that Nim defers all responsability of sfety to you because you know better. If you use `addr` with `let` Nim will not compile.
