<div dir="ltr">Does using andmap with the custom predicates you alluded to for that union you mentioned work?<div><br></div><div>Something like this perhaps?:</div><div><br></div><div><div><div>#lang typed/racket</div><div><br></div><div>(struct: T1 ())</div><div>(struct: T2 ())</div><div>(define-type T1or2 (U T1 T2))</div><div><br></div><div>(: T1or2? (-> Any Boolean : T1or2))</div><div>(define (T1or2? a)</div><div>  (or (T1? a) (T2? a)))</div></div></div><div><br></div><div><br></div><div><div>(: listof-T1or2 (-> Any Boolean : (Listof T1or2)))</div><div>(define (listof-T1or2 l)</div><div>  (and (list? l) (andmap T1or2? l)))</div><div><br></div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 26, 2014 at 12:28 PM, Konrad Hinsen <span dir="ltr"><<a href="mailto:konrad.hinsen@fastmail.net" target="_blank">konrad.hinsen@fastmail.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Andrew Kent writes:<br>
<br>
 > Will andmap work for you?<br>
<br>
</span>Interesting... I didn't know about that one.<br>
<br>
For my demonstration code, that's indeed a good solution. In my real<br>
application, the test is more complicated. I need to check all<br>
elements of a list for conformance to a union type, so I have no<br>
prefabricated predicate, not even for the elements of my list.<br>
<div class="HOEnZb"><div class="h5"><br>
Konrad.<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br></div>