       "2000-02-29 23:00:07"
 
   """
-  @spec to_string(Calendar.naive_date_time) :: String.t
+  @spec to_string(Calendar.naive_datetime) :: String.t
   def to_string(naive_datetime)
 
   def to_string(%{calendar: calendar, year: year, month: month, day: day,

      "2000-02-29T23:00:07"

  """
  @spec to_iso8601(Calendar.naive_date_time) :: String.t
  def to_iso8601(naive_datetime)

  def to_iso8601(%{year: year, month: month, day: day,

  @type time :: %{optional(any) => any, hour: hour, minute: minute, second: second, microsecond: microsecond}

  @typedoc "Any map/struct that contains the naive_datetime fields"
  @type naive_datetime :: %{optional(any) => any, calendar: calendar, year: year, month: month, day: day,
                            hour: hour, minute: minute, second: second, microsecond: microsecond}

  @typedoc "Any map/struct that contains the datetime fields"
  @type datetime :: %{optional(any) => any, calendar: calendar, year: year, month: month, day: day,
                      hour: hour, minute: minute, second: second, microsecond: microsecond,
                      time_zone: time_zone, zone_abbr: zone_abbr, utc_offset: utc_offset, std_offset: std_offset}

  @doc """
  Returns how many days there are in the given year-month.
