+
+let is_first_child _ n = n.parent.first_child == n
+let is_next_sibling _ n = n.parent.next_sibling == n
+
+let prev_sibling t n = if is_next_sibling t n then n.parent else nil
+let parent_of_first t n = if is_first_child t n then n.parent else nil
+