Currently, yes; I was experimenting with type families.  But it's pretty simple to get it to compile on 6.6.1:
- remove the {-# LANGUAGE #-} pragma and replace with {-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances #-}
 
- change the class declaration for MonadPrompter from
> class Monad m => MonadPrompter m where
>    type PromptType m :: * -> *
>    prompt :: PromptType m a -> m a
 
to
 
> class Monad m => MonadPrompter p m | m -> p where
>    prompt :: p a -> m a
 
- change all the instance declarations from something like this:
 
> instance MonadPrompter (XXX) where
>    type PromptType (XXX) = YYY
>    prompt = ...
 
to something like this:
 
> instance MonadPrompter YYY (XXX) where
>    prompt = ...
 
& you're done.
 
  -- ryan