let pack box ?from:( dir = (`START : pack_type)) ?(expand=false) ?(fill=true) ?(padding=0) child = (match dir with `START -> pack_start | `END -> pack_end) box child ~expand ~fill ~padding