1. From glancing at it:  this is a pretty ugly solution.<p>On the plus side:  It&#x27;s minimal and doesn&#x27;t spend much time building abstractions on top of the basic lists&#x2F;etc. that scheme provides.  However, it certainly isn&#x27;t pretty.<p>For instance:  Things like the king &amp; knight checks are really pretty ugly brute force solutions.<p>Similarly, the variable &amp; function naming really is rather unclear and very poorly commented--some of that may be use of things idiomatic to scheme that I&#x27;m unfamiliar with though.<p>2. Always a possibility, I certainly don&#x27;t know you.  ;)<p>3. Some people certainly have said that before and probably will again.  This is really just a personal preference thing, I think.