def METHOD_NAME(self, fn: Callable[[Node[T]], Optional[bool]]) -> Optional[bool]:
    '''
    Call the given function for every node below this one, depth-first.
    Return `False` from `fn` to stop.
    Returns `False` if `fn` ever returned it, else `None`.
    '''
    if fn(self) is False:
        return False
    for node in self.nodes:
        if node.METHOD_NAME(fn) is False:
            return False
    return None