Kast in k

I created this diff for use in managing the discussion on the KORE syntax. We may choose to close it rather than merge it, I just need a place to put comments.
I want to keep the hooks named as the `KLabel`s. `EmptyKList` is simply an alternate constructor for an empty `KList`.