```rust use zoon::State; let state = State::new(); assert!(state.get().is_none());
assert_eq!(state.set(92), Ok(()));
assert!(state.get().issome());
## get_or_init
rust
use zoon::State;
let state = State::new();
let value = state.getorinit(|| 92);
asserteq!(value, &92);
let value = state.getorinit(|| unreachable!());
asserteq!(value, &92);
## get_or_try_init
rust
use zoon::State;
let state = State::new();
asserteq!(state.getortryinit(|| Err(())), Err(()));
assert!(state.get().isnone());
let value = state.getortryinit(|| -> Result
## intoinner
```rust
use zoon::State;
let state: State
let state = State::new(); state.set("hello".tostring()).unwrap(); asserteq!(state.intoinner(), Some("hello".tostring())); ```
## take
```rust
use zoon::State;
let mut state: State
let mut state = State::new(); state.set("hello".tostring()).unwrap(); asserteq!(state.take(), Some("hello".tostring())); asserteq!(state.get(), None); ```