title: When representing 2^n x 2^n matrices using quadtrees
body: <p>I've just found the definition on my textbook and can't imagine what <code>nexp</code> is supposed to do/mean:</p>
  
  <pre><code>data (Eq a, Show a) =&gt; QT a = C a | Q (QT a) (QT a) (QT a) (QT a)
      deriving (Eq, Show)
  
  data (Eq a, Num a, Show a) =&gt; Mat a = Mat {
      nexp :: Int,
      mat :: QT a}
      deriving (Eq,Show)
  </code></pre>
  
  <p><strong>What is the purpose of <code>nexp :: Int</code></strong>?</p>