@staticmethod
def iter(start, end=None):
    """Generate months between passed months.

		Args:
			start: The first month to yield.
			end: The final month to yield. If None, yield infinitely.

		Yields:
			Months between the passed values inclusive.
		"""
    month = start
    while end is None or month <= end:
        yield month
        month = month.next()
