<div dir="ltr">I'd like to convert the following typed program into an untyped one that uses a contract instead of a type signature to protect the member function.<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">#lang typed/racket</font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">(struct: (A) Node ([val : A]</font></div></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">                   [left-tree  : (MyTree A)]</font></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">                   [right-tree : (MyTree A)]))</font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">(define-type (MyTree A) (U 'Nil (Node A)))</font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace"><br></font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">(: member (All (A) (-> A (MyTree A) Boolean)))</font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">(define (member x xs)</font></div></div><div><div style="font-family:arial,sans-serif;font-size:13px"><font face="monospace">  #t)</font></div></div></blockquote><div><br></div><div>More specifically, can someone help me fill in the blank marked "TODO" below:</div><div><br></div><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><font face="monospace">#lang racket<br>(struct Node (val left-tree right-tree))<br><br>(define/contract (member x xs)<br>  (parametric->/c [A] TODO)<br>  #t)</font></blockquote></div></div>