pub fn map_function(values: Vec, f: &Fn(i32) -> i32) -> Vec { let mut out: Vec = vec![]; for val in values { out.push(f(val)) } out } pub fn map_closure(values: Vec, f: F) -> Vec where F: Fn(i32) -> i32, { let mut out: Vec = vec![]; for val in values { out.push(f(val)) } out }