code: def _get_frame_result_type(result, objs):
      
  
      if (result.blocks and (
              any(isinstance(obj, ABCSparseDataFrame) for obj in objs))):
          from pandas.core.sparse.api import SparseDataFrame
          return SparseDataFrame
      else:
          return next(obj for obj in objs if not isinstance(obj,
                                                            ABCSparseDataFrame))
docs: return appropriate class of DataFrame-like concat
      if all blocks are sparse, return SparseDataFrame
      otherwise, return 1st obj