procedure main()
local lst
lst := [10, 20, 30, 40]
every callback(write,!lst)
end
procedure callback(p,arg)
return p(" -> ", arg)