Tried to use the block_tree class for a block and it appears that tree_block_contents() is out of date. As far as I know, tree_block_contents() takes an array of navigation_node's but in the function's body, it calls $item->content() which should be $item->get_content() I think.
Further, it would be nice if this code produced a block like the settings block. I attempted to re-create the output of the settings block and found that I mostly had to duplicate some rendering code and styles. I think it would be helpful if this could be generalized so it could be used anywhere (in a block or not).