macros to define Haskell style monadic action blocks for IntoIterators, Reader, Writer, State, and macros for the transformers ReaderT and WriterT over Vec, LinkedList and VecDeque
//! examples/state1.rs
//!//! You may specify in a type restriction the type of the State bloc
//! or apply it directly to an initial_state without the type restriction
usemonadic::{stdo,state::{State, get, put}};typeSt=i32;fnmain(){let bloc:State<'_, St, _>=stdo!{
x <-pure9;
y <-get();_<-put(1);
z <-get();pure(x, y, z)};let res = bloc.initial_state(0);println!("result: {:?}", res);}