code: def is_head(self):
          
          if (self._head or self.is_root() or
                  len(getattr(self._parent, 'daughters', [None])) == 1):
              return True
          elif any(dtr._head for dtr in self._parent.daughters):
              return False
          return None
docs: Return `True` if the node is a head.
  
          A node is a head if it is marked as a head in the UDX format or
          it has no siblings. `False` is returned if the node is known
          to not be a head (has a sibling that is a head). Otherwise it
          is indeterminate whether the node is a head, and `None` is
          returned.