fn move_left(focus: &mut Focus) {
    if focus.current_node.is_expanded() {
        focus.current_node.collapse();
    } else if !focus.is_on_top_level() {
        focus.move_to_parent();
    }
}
// Rules:
// - If expanded, collapse yourself.
// - Otherwise, go to parent, unless already on top level.
If expanded, collapse yourself.
Otherwise, go to parent, unless already on top level.
If expanded collapse yourself . Otherwise go to parent unless already on top level .
fn move_left(focus: &mut Focus) {
    if focus.current_node.is_expanded() {
        focus.current_node.collapse();
    } else if !focus.is_on_top_level() {
        focus.move_to_parent();
    }
}
fn move_left ( focus : & mut Focus ) { if focus . current_node . is_expanded ( ) { focus . current_node . collapse ( ) ; } else if ! focus . is_on_top_level ( ) { focus . move_to_parent ( ) ; } }
Rules:
 If expanded, collapse yourself.
Rules : If expanded collapse yourself .
focus
&mut Focus
focus
&mut Focus