mod ast; mod eval; pub mod parser; mod string; pub use eval::evaluate; trait Wrap { fn wrap(self, f: F) -> U where F: Fn(T) -> U, Self: Sized; fn wrap_ok(self) -> Result where Self: Sized, { Ok(self) } } impl Wrap for T { fn wrap(self, f: F) -> U where F: Fn(T) -> U, { f(self) } }