You can make a type-classed `if&#x27; without any problem.<p>The problems occur when you want to typeclass your lambdas.  The difficulties are mostly surmountable, though.  Check out <a href="http:&#x2F;&#x2F;okmij.org&#x2F;ftp&#x2F;tagless-final&#x2F;course&#x2F;" rel="nofollow">http:&#x2F;&#x2F;okmij.org&#x2F;ftp&#x2F;tagless-final&#x2F;course&#x2F;</a>