mposition =
  List.map (compose string_of_int ((+) 1)) [1; 2; 3] =
  compose (List.map string_of_int) (List.map ((+) 1)) [1; 2; 3];;
val satisfies_composition : bool = true</code></pre></li><li><p>The <a href="Bastet/Option/Functor/index.html"><code>Bastet.Option.Functor</code></a></p><pre><code class="ml"># let id x = x;;
val id : 'a -&gt; 'a = &lt;fun&gt;

# let compose f g x = f (g x);;
val compose : ('a -&gt; 'b) -&gt; ('c -&gt; 'a) -&gt; 'c -&gt; 'b = &lt;fun&gt;

# let map f = function
  | Some value 