(bind-func Widget_walk_inorder
(lambda (widget:Widget* visit_fn:[Widget*,Widget*]*)
(if (null? widget)
widget
(begin
(Widget_walk_inorder (Widget_left_child widget) visit_fn)
(visit_fn widget)
(Widget_walk_inorder (Widget_right_child widget) visit_fn)))))