**Mercury** has several new and novel design decisions that make it radically different from other general Operating Systems.
```admonish warning
A lot of these designs will likely change and shift as work get's done on the project.
```
First off, it's written in [Rust](https://www.rust-lang.org/), which allows for several nice features, including:
- Memory safety
- Easy dependency and build management with `cargo`
- Great performance and reliability
- Several compilation targets, with simple cross-compilation
It also uses [microkernel](https://doc.redox-os.org/book/ch04-01-microkernels.html) architecture - this allows for us to keep the base kernel code small, and have additional features be modular, and easy to integrate into other projects.
This also allows for a smaller attack surface, less bloat, smaller code, etc.
Additionally, **Mercury** is designed for `ARM`/`RISC-V` architecture machines.
This is not only because they are simpler, but also because I believe they are the future of computing.
For the future, I do not see myself wanting or attempting to implement `x86` functionality.