How about we simply follow the Rust way? In Nim this could mean: `addr`, `ptr`, 
etc get an unsafe effect, everything else is implicitly `.notTags: {Unsafe}` 
and we need to put a `.cast` block around the code using `addr` etc. to make it 
safe (we could create a macro called `unsafe` which is just sugar for the 
`cast`).

That way we get the benefit that Rust gets: it's clear what code performs 
unsafe memory operations.

Reply via email to