 bool = true
# satisfies_associative_law int_of_string_opt to_positive_int to_even_int &quot;foo&quot;;;
- : bool = true

# let string_to_positive_even_int =
  int_of_string_opt &gt;=&gt; to_positive_int &gt;=&gt; to_even_int;;
val string_to_positive_even_int : string -&gt; int option = &lt;fun&gt;
# string_to_positive_even_int &quot;foo&quot;;;
- : int option = None
# string_to_positive_even_int &quot;123&quot;;;
- : int option = None
# string_to_positive_even_int &quot;124&quot;;;
- : int option = Some 12