ancestors could be an arbitrary Tree