docs: def degree_dist(graph, limits=(0,0), bin_num=10, mode='out'):
      '''
      Computes the degree distribution for a graph.
  
      Returns a list of tuples where the first element of the tuple is the center of the bin
      representing a range of degrees and the second element of the tuple are the number of nodes
      with the degree falling in the range.
  
      Example::
  
          ....
      '''
  
      deg = []
      if mode == 'inc':
          get_deg = graph.inc_degree
      else:
          get_deg = graph.out_degree
  
      for node in graph:
          deg.append( get_deg(node) )
  
      if not deg:
          return []
  
      results = _binning(values=deg, limits=limits, bin_num=bin_num)
  
      return results