I&#x27;m currently writing a library&#x2F;book dedicated to the subject, including compile time state, compile time I&#x2F;0, and a compile time test framework in 9 lines of code!<p>Tests are specified as part of the definition, run at compile time, and if they fail no executable is produced.<p><pre><code>  {define
    &quot;list#&quot;
    permutations
    [|l|
     (if (null? l)
       [&#x27;()]
       [{let permutations ((l l))
          (if (null? l)
              [(list &#x27;())]
              [(flatmap [|x| (map [|y| (cons x y)]
                                  (permutations (remove x l)))]
                        l)])}])]
  ;;; tests
  (satisfies?
   permutations
   &#x27;(
     (() ())
     ((1) ((1)))
     ((1 2) ((1 2)
             (2 1)))
     ((1 2 3) ((1 2 3)
               (1 3 2)
               (2 1 3)
               (2 3 1)
               (3 1 2)
               (3 2 1)))
     ))}
</code></pre>
<a href="https:&#x2F;&#x2F;github.com&#x2F;billsix&#x2F;bug" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;billsix&#x2F;bug</a>