fact: Definition run_writer {W E} (Monoid_W : Monoid W) : itree (writerE W +' E) ~> writerT W (itree E) := fun _ t => interp_state (M := itree E) (case_ (handle_writer Monoid_W) pure_state) t (monoid_unit Monoid_W).
imports: Coq(List) ExtLib(Structures.Functor Structures.Monad Structures.Monoid) ITree(Basics.Basics Basics.CategoryOps Basics.MonadState Indexed.Function Indexed.Sum Core.ITreeDefinition Core.Subevent Interp.Interp Interp.Handler Events.State)