モナドの別名を作りたいです。型におけるnewtypeのように、専用のモナドにして、
既存のモナドと混ざらないようにしたいです。

具体的には、Writerモナドを特化したいと考えています。

WriterT のエラーログ専用版、 ErrorLogTを作り、
エラーログは関数tellではなく、専用関数tellErrorを使うようにしたいです。

同様に、警告ログ用はWarningLogTとtellWarningとしたいです。

作る方法あります?