treating edge-case for : fail if all children fail