lass="computeroutput">X&lt;Y<sub>0</sub>,...Y<sub>n</sub>&gt;</code>,
                  where all <code class="computeroutput">Y<sub>x</sub></code> are types for
                  <code class="computeroutput">x</code> in <code class="computeroutput">[0,n]</code>,
                  <code class="computeroutput">proto::is_callable&lt;T&gt;::value</code> is
                  <code class="computeroutput">boost::is_same&lt;Y<sub>n</sub>, <a class="link" href="callable.html" title="Struct callable">proto::callable