     end
   end
 
+  @doc """
+  Converts a NaiveDateTime from one calendar to another.
+
+  If it is not possible to convert unambiguously between the calendars
+  (see `Calendar.compatible_calendars?/2`), an ArgumentError is raised.
+  """
   @spec convert!(NaiveDateTime.t, Calendar.calendar) :: NaiveDateTime.t
   def convert!(naive_datetime, calendar) do
     case convert(naive_datetime, calendar) do

  @doc """
  Converts a DateTime from one calendar to another.

  ## Examples

      iex> dt1 = %DateTime{year: 2000, month: 2, day: 29, zone_abbr: "AMT",

    end
  end

  defp to_rata_die(%DateTime{calendar: calendar,year: year, month: month, day: day,
                             hour: hour, minute: minute, second: second, microsecond: microsecond}) do
    calendar.naive_datetime_to_rata_die(year, month, day, hour, minute, second, microsecond)
