<div dir="ltr">I'm having difficulty getting the following code to type:<br><br>#lang typed/racket<br><div>(: test : ((U Number (Parameterof Number)) -> Number))</div><div>(define (test p)</div><div>  (if (not (parameter? p))</div>
<div>      p</div>
<div>      (p)))<br><br>But I get the error:<br>> Type Checker: Expected Number, but got (U Complex (Parameterof Number)) in: p<br>On the then branch of the if. Is there a way to convince this to type?</div><div><br></div>
<div>--Spencer</div></div>