function setEdgeChildWithValue(child) {
      if (!edgeChildWithValue && child.value) {
        edgeChildWithValue = child;
      }
      findFn(child.children, setEdgeChildWithValue);
    }
searchChildren checks a node and all of it's children deeply to find a
non-blank text value. When the text node is found, we set it in an outside
variable, as it may be deep in the tree and therefore wouldn't be returned
by `find`/`findLast`.