A type that ensures calculation safety and prevents itself from overflow
``` use scalc::SCell;
fn main() -> Result<(), String> {
let a = SCell::
// Addition will result in `None` in the presence of overflow behavior(s)
let a = SCell::<i32>::new(std::i32::MAX) + SCell::<i32>::new(1);
assert!(a.is_none());
Ok(())
}
``
You can also use [*New Type Idiom*](https://doc.rust-lang.org/stable/rust-by-example/generics/new_types.html) in combination of [
derivemore`](https://github.com/JelteF/derivemore) to have better experience.