docs: def extract_subtree(self, node):
          '''Return a copy of the subtree rooted at ``node``
  
          Args:
              ``node`` (``Node``): The root of the desired subtree
  
          Returns:
              ``Tree``: A copy of the subtree rooted at ``node``
          '''
          if not isinstance(node, Node):
              raise TypeError("node must be a Node")
          r = self.root; self.root = node; o = copy(self); self.root = r; return o