パイプを使用して、ProxyFastまたはProxyCorrect型のMonadTransControlのインスタンスを作成しようとしています。これは私が持っているものです:
instance MonadTransControl (ProxyFast a' a b' b) where
data StT (ProxyFast a' a b' b) a = StProxy { unStProxy :: ProxyFast a' a b' b Identity a}
liftWith = undefined
restoreT = undefined
liftWith や restoreT の書き方がわかりません。他のモナド トランスフォーマーのインスタンスはすべて、モナドを「交換」する関数を使用します。ProxyCorrect / ProxyFast の MonadTransControl のインスタンスはどのように見えますか? それとも書くことは不可能ですか?(はいの場合、パイプ 4.0 で可能ですか?)