let map_table ?style ?(attrs = []) ?tr_style ?(tr_attrs = []) ?td_style ?(td_attrs = []) f t =
let m = table ?style ~attrs:attrs [] in
set_attr_opt m "style" style ;
for y = 0 to Array.length t - 1 do
let tr = tr ?style:tr_style ~attrs:tr_attrs [] in
for x = 0 to Array.length t.(y) - 1 do
let td = td ?style:td_style ~attrs:td_attrs [f y x t.(y).(x)]in
Node.append tr td ;
done ;
Node.append m tr ;
done ;
m