code: def _compute_node_values(tree_info):
      
      def walk(tree):
          if 'leaf_value' in tree:
              return tree['leaf_value'], tree.get('leaf_count', 0)
          left_value, left_count = walk(tree['left_child'])
          right_value, right_count = walk(tree['right_child'])
          count = left_count + right_count
          if tree['split_gain'] <= 0:
              assert left_value == right_value
              tree['_node_value'] = left_value
          else:
              tree['_node_value'] = (left_value * left_count +
                                    right_value * right_count) / count
          return tree['_node_value'], count
  
      for tree in tree_info:
          walk(tree['tree_structure'])
docs: Add node_value key with an expected value for non-leaf nodes