getSP :: Cont (SP a b) a getK :: Cont (K a b) (KEvent a) getF :: Cont (F a b) a
getSP insp
type KCommand a = Message XCommand a
type FCommand a = Message TCommand a
insp :: ??x has been read from the input stream,
getSP insp behaves like insp x.
getSP (\x->putSP x nullSP)