code: def is_bifurcating(self, include_root=True):
          
          ctn1 = -1 + (2 * len(self))
          ctn2 = -2 + (2 * len(self))
          if self.is_rooted():
              return bool(ctn1 == sum(1 for i in self.treenode.traverse()))
          if include_root:
              return bool(ctn2 == -1 + sum(1 for i in self.treenode.traverse()))
          return bool(ctn2 == sum(1 for i in self.treenode.traverse()))
docs: Returns False if there is a polytomy in the tree, including if the tree
          is unrooted (basal polytomy), unless you use the include_root=False
          argument.