Type-level lists

Also adds support for empty tuples.
Merge pull request #2 from pthariensflame/topic/type-level-lists

Type-level list support