title: Scala type programming resources
body: <p>According to <a href="https://stackoverflow.com/questions/4047512/the-type-system-in-scala-is-turing-complete-proof-example-benefits">this question</a>, Scala's type system is <a href="http://en.wikipedia.org/wiki/Turing_completeness" rel="noreferrer">Turing complete</a>. What resources are available that enable a newcomer to take advantage of the power of type-level programming?</p>
  
  <p>Here are the resources I've found so far:</p>
  
  <ul>
  <li><a href="http://vimeo.com/13518456" rel="noreferrer">Daniel Spiewak's <em>High Wizardry in the Land of Scala</em></a></li>
  <li><a href="http://apocalisp.wordpress.com/2010/06/08/type-level-programming-in-scala/" rel="noreferrer">Apocalisp's <em>Type-Level Programming in Scala</em></a></li>
  <li><a href="http://jnordenberg.blogspot.com/2008/08/hlist-in-scala.html" rel="noreferrer">Jesper's <em>HList</em></a></li>
  </ul>
  
  <p>These resources are great, but I feel like I'm missing the basics, and so do not have a solid foundation on which to build. For instance, where is there an introduction to type definitions? What operations can I perform on types?</p>
  
  <p>Are there any good introductory resources?</p>