I got the following error: "Type Checker: Cannot apply expression of type Procedure, since it is not a function type"<br><br>What is the rationale behind this?<br><br>I'm constructing a function wrapper that uses apply, but I don't know how to type a function in the most general way.<br>
<br>The code is like:<br><br>(define (wrapper fun . args) ... <br> ... (apply fun args))<br><br>I expect functions to have any numbers/types of arguments but always return a type B.<br><br>I tried something like (All (A) (A ... A -> B)) but it does not catch all cases... so I tried to use the type Procedure, which according to the documentation "is the supertype of all function types."<br>
<br>Thanks<br>-- <br>Ismael<br><br>