pub fn tap(a, next) { next(a) a }