code: def fix_rst_heading(heading, below):
      
      if len(below) == 0:
          return below
      first = below[0]
      if first not in '-=`~':
          return below
      if not len(below) == len([char for char in below
                                if char == first]):
          # The line is not uniformly the same character
          return below
      below = first * len(heading)
      return below
docs: If the 'below' line looks like a reST line, give it the correct length.
  
      This allows for different characters being used as header lines.