replace deprecated Control.Monad.Error -> Control.Monad.Except