0182-map_nil
-- like map, but support nils inside arr
-- arr must provide its length in an 'n' field,
-- as returned by 'unpack'.
map_nil = function(arr, f)
local result = {}
for i=1,arr.n do
result[i] = f(arr[i])
end
result.n = arr.n
return result
end