<p dir="auto">Just clone <a href="http://www.joda.org/joda-time/" rel="nofollow">JodaTime</a>. Start out of tree.</p>
<p dir="auto">Right now add on two Options effectively treats a <code class="notranslate">None</code> as a <code class="notranslate">Some(Zero::zero())</code>, which is:</p>
<ul dir="auto">
<li>Unnecessary because <code class="notranslate">Some(Zero::zero())</code> is already a valid value, why duplicate it's meaning with <code class="notranslate">None</code>?</li>
<li>Contrary to the way the <code class="notranslate">Maybe</code> Monad in Haskell works: If both values are a <code class="notranslate">Some</code>, add them, else return <code class="notranslate">None</code>.</li>
</ul>