h these principles, it's recommended that library authors provide a <i>concrete</i> API that doesn't expose this level of abstraction for newcomers.</p><p>For example, consider this abstraction that generalizes the notion of something similar to the <a href="Bastet/Result/index.html#val-hush"><code>Bastet.Result.hush</code></a> function but instead returns a <code>unit</code> type for the second type argument instead of an <code>option</code> type:</p><pre><code class="ml"># #require &quot;bastet&quot;;;
# 