Initial Review of HKTs RFC

Comments welcome!
As stated below underscores are used as the syntax for declaring kinds. I think it is better to no infer them and make it explicit. All though Haskell looks pretty its often times hard to understand the kind-ing of a type variable like `f` without reading all the context.