// Rules:
// - If a primitive, do nothing
// - If inlined, do nothing
// - If collapsed, expand
// - If expanded, go to first child
If a primitive, do nothing
If inlined, do nothing
If collapsed, expand
If expanded, go to first child
If a primitive do nothing If inlined do nothing If collapsed expand If expanded go to first child
fn move_right(focus: &mut Focus) {
    if focus.current_node.is_expanded() {
        focus.move_to_first_child();
    } else if focus.current_node.is_collapsed() {
        focus.current_node.expand();
    }
}
fn move_right ( focus : & mut Focus ) { if focus . current_node . is_expanded ( ) { focus . move_to_first_child ( ) ; } else if focus . current_node . is_collapsed ( ) { focus . current_node . expand ( ) ; } }
Rules:
 If a primitive, do nothing
 If inlined, do nothing
 If collapsed, expand
 If expanded, go to first child
Rules : If a primitive do nothing If inlined do nothing If collapsed expand If expanded go to first child
focus
&mut Focus