(bind-func Widget_swap_children
(lambda (widget)
(if (Widget_leaf_p widget)
(println "gui_flip_widgets: cannot flip leaf widgets")
(let ((old_left (Widget_left_child widget)))
;; swap the child widgets
(Widget_set_left_child widget (Widget_right_child widget))
(Widget_set_right_child widget old_left)
void))))