type Cont r a = ((a -> r) -> r) joinCont :: Cont r (Cont r a) -> Cont r a joinCont f far = f (\ g -> g far)