Haskell type checker complaint 184 of 698
stack repl with ghc 8.4.3 just gives me<p><pre><code>    λ&gt; import Data.Bits
    λ&gt; let cube = [ [a `adj` b | b &lt;- [0 .. 7] ] | a &lt;- [0 .. 7] ]  where a `adj` b = if (elem (xor a b) [1, 2, 4]) then 1 else 0
    λ&gt; :i cube
    cube :: Num a =&gt; [[a]]  -- Defined at &lt;interactive&gt;:2:5
    λ&gt; cube 
    [[0,1,1,0,1,0,0,0],[1,0,0,1,0,1,0,0],[1,0,0,1,0,0,1,0],[0,1,1,0,0,0,0,1],[1,0,0,0,0,1,1,0],[0,1,0,0,1,0,0,1],[0,0,1,0,1,0,0,1],[0,0,0,1,0,1,1,0]]
</code></pre>
same with ghc 7.10.3.<p>Maybe I forgot to `import Data.Ring.Torsion`?