added MonadState and MonadReader instances for FreeT