fn map(anon array: [T], function: fn(anon x: T) -> U) throws -> [U] { mut result: [U] = [] result.ensure_capacity(array.size()) for item in array { result.push(value: function(item)) } return result } fn main() { let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] let array_squared = map(array, function: fn(anon n: i64) => n * n) println("{}", array_squared) }