How do I compose a list of functions?
<p>If I have a type named Person, and list of functions, for example...</p>

<pre><code>let checks = [checkAge; checkWeight; checkHeight]
</code></pre>

<p>...where each function is of the type  (Person -> bool), and I want to do the equivalent of...</p>

<pre><code>checkAge &gt;&gt; checkWeight &gt;&gt; checkHeight
</code></pre>

<p>...but I don't know in advance what functions are in the list, how would I do it? </p>

<p>I tried the following...</p>

<pre><code>checks |&gt; List.reduce (&gt;&gt;)
</code></pre>

<p>...but this gives the following error...</p>

<blockquote>
  <p>error FS0001: Type mismatch. Expecting a
     (Person -> bool) -> (Person -> bool) -> Person -> bool    </p>
  
  <p>but given a</p>
  
  <p>(Person -> bool) -> (bool -> 'a) -> Person -> 'a    </p>
  
  <p>The type 'Person' does not match the type 'bool'</p>
</blockquote>

<p>What am I doing wrong?</p>