Feature/typelits

Here is the reworked version, this time everything compile and the tests pass except `tagsOutOfRangeTests`.

I'm not sure why those out of range tests fail, maybe it's related to the warnings about literal out of range? I tried to disable those one but no change.

It would be nice if someone more familiar with those specific tests look into, because it might be an obvious trivial change.

I believe it's ready for merging aside from that, what you think @NathanHowell ?