For a good system programming language, you need to have good control over the memory layout and a bit cast operation where you can convert pointers to integers and back. It is an essential feature if you wanted to implement your own memory manager or Garbage collector. This is what the new system programming language Nim does.

Nim is a statically typed, imperative programming language that tries to give the programmer ultimate power without compromises on runtime efficiency. This means it focuses on compile-time mechanisms in all their various forms. Nim compiles and runs fast, delivers tiny executables on several platforms. Nim is a mix of the best of many worlds, Nim language draws from best of Python, Rust, Go, and Lisp. The compilation speed and cross-platform targeting of Go, the safe-by-default behaviors of Rust, the readability and ease of development of Python, and even the metaprogramming facilities of the Lisp family.