Initial Review of HKTs RFC

Comments welcome!
require that the self type