docs: def model_to_tree(model, title=None, lucent_id=TRANSLUCENT_BINDER_ID):
      """Given an model, build the tree::
  
          {'id': <id>|'subcol', 'title': <title>, 'contents': [<tree>, ...]}
  
      """
      id = model.ident_hash
      if id is None and isinstance(model, TranslucentBinder):
          id = lucent_id
      md = model.metadata
      shortid = md.get('shortId', md.get('cnx-archive-shortid'))
      title = title is not None and title or md.get('title')
      tree = {'id': id, 'title': title, 'shortId': shortid}
      if hasattr(model, '__iter__'):
          contents = tree['contents'] = []
          for node in model:
              item = model_to_tree(node, model.get_title_for_node(node),
                                   lucent_id=lucent_id)
              contents.append(item)
      return tree