For an eye-opening experience, walk through the tour of Ceylon sometime. It has the most sophisticated implementation union &amp; intersection types I&#x27;ve yet seen:<p><a href="http:&#x2F;&#x2F;ceylon-lang.org&#x2F;documentation&#x2F;1.1&#x2F;tour&#x2F;types&#x2F;" rel="nofollow">http:&#x2F;&#x2F;ceylon-lang.org&#x2F;documentation&#x2F;1.1&#x2F;tour&#x2F;types&#x2F;</a><p>Compared to union&#x2F;intersection types, I find myself craving higher kinded types less frequently. I do feel the absence strongly, however, when I&#x27;m writing tools. I think the lack of higher kinded types manifests in the Java community as inferior libraries (eg ORMs) that require more manual-feeding of information via annotations or extra parameters to methods.