;
val append : 'a option -&gt; 'a option -&gt; 'a option = &lt;fun&gt;

# let satisfies_identity_law = append (Some `foo) empty = Some `foo;;
val satisfies_identity_law : bool = true

# let satisfies_associative_law =
  append None (append (Some `foo) (Some `bar)) =
  append (append None (Some `foo)) (Some `bar);;
val satisfies_associative_law : bool = true</code></pre></li></ul><h5 id="monad"><a href="#monad" class="anchor"></a>Monad</h5><p><a href="Bastet/Interface/module-type-MONAD/index.html"><code>Bast