pub fn is_empty(&self) -> io::Result<bool> {
        if let Some(res) = self.iter().next() {
            res?;
            Ok(false)
        } else {
            Ok(true)
        }
    }
Returns `true` if the `Tree` contains no elements.

This is O(1), as we only need to see if an iterator
returns anything for the first call to `next()`.
src/tree.rs