Examples:
use moreops::*;
let some_num = 123.some();
let none_num = none::<i32>();
let ok = 123.ok();
let err = "Error!".to_owned().err();
let x = 42;
let answer = (x % 2 == 0).option("even").unwrap_or("odd");
fn f() -> i32 {
123
}
assert_eq!(f().tap(|x| println!("{:?}", x)), 123);
assert_eq!(f().pipe(|x| x * 2), 246);
assert_eq!(123.ok().swap(), 123.err());
assert_eq!(123.ok().swap().swap(), 123.ok());
let one = 123.once();
let two = 123.twice();
let three = 123.thrice();
let x = (2, 3, 4).apply(|a, b, c| a * b * c);
assert_eq!(x, 24);
let map = (1..10).map(twice).collect::<::std::collections::BTreeMap<_, _>>();