batch_oper
pub fn effect<T>(v: T, f: impl FnOnce(&T)) -> T
Create an implicit variable, perform some side effects, and return it
let v = 1; let v = effect(v, |v| { assert_eq!(*v, 1) }); assert_eq!(v, 1);