Higher Kinded Types (WIP)

My initial attempts at adding higher kinded types to the type system.