title: Error when attempting .add/3 on NaiveDateTime
body: <p>I'm learning Elixir and am getting an error for a simple (so I thought) operation:</p>
  <pre><code>    d = NaiveDateTime.from_erl({{year, month, day}, {hours, minutes, seconds}}, {0, 0}, Calendar.ISO)
      NaiveDateTime.add(d, 20, :second)
  </code></pre>
  <p>This results in the following:</p>
  <pre><code>Attempted function clauses (showing 1 out of 1):
  
      def add(%{microsecond: {_, precision}, calendar: calendar} = naive_datetime, amount_to_add, unit) when is_integer(amount_to_add)
  </code></pre>
  <p>My code matches the examples I see elsewhere. I don't quite understand the error syntax. It's my understanding that <code>%{microsecond..</code> is a Map. Why the error?</p>