docs: def exact_anniversaries(frequency, anniversary, start, finish):
      """
      Returns the number of exact anniversaries if start and finish represent an anniversary.
      
      ie.. 
      
      exact_anniversaries(DATE_FREQUENCY_MONTHLY, 10, date(2012, 2, 10), date(2012, 3, 9)) returns 1
      exact_anniversaries(DATE_FREQUENCY_MONTHLY, 10, date(2012, 2, 10), date(2012, 4, 9)) returns 2
      """
      if frequency != DATE_FREQUENCY_MONTHLY:
          raise DateFrequencyError("Only monthly date frequency is supported - not '%s'" % (frequency))
      
      if start.day != anniversary:
          return False
  
      periods = 0
      current = start
      while current <= finish:
          period_end = current + relativedelta(months=+1, days=-1)
          if period_end <= finish:
              periods += 1
          else:
              return False
          current = current + relativedelta(months=+1)
      return periods