vast improvement to the catalog using higher kinded types!

Scala is fucking awesome, can I say that once more?