Îõ³h$£Ð(      !"#$%&'(C) 2021 Isaac ElliottBSD-3 (see the file LICENSE)%Isaac Elliott None 9>ÀÁÂÄÉÎ×tellA proof that a ( instance implies a  instance.tellLaws tell mempty áD pure ()  tell (a <> b) áD tell a *> tell bHow does this relate to (? is a generalisation of (. It only provides Î; a function that 'appends' a monoidal value to some output. Morally, we have class  w m => ( w m where .... See  for the witness of this.('s  and • functions require the monad to hold onto the output for an arbitrarily long time. This can cause applications to use memory linear in the number of ,s, when constant memory usage would suffice.ÂA motivating example is writing monoidal results to a file. Using ( (via a WriterTâ), you would have to accumulate the the entire output and then write it to the file. In contrast, ‚ allows you to write each result to the file as it's obtained, allowing the result to be freed while the rest of the program runs.(C) 2021 Isaac ElliottBSD-3 (see the file LICENSE)%Isaac Elliott None>ÀÁÂÎÀtell/A monad that can write a monoidal summary to a ).tellThe  law  tell (a <> b) áD tell a *> tell b is only obeyed when the )" is written to by a single thread.tellTarget file handletell/The function that will write to the file handle*       !"#$%&'()*+,-./01tell-0.1-J0K0xCQrKVbJoyDAvuSCGQControl.Monad.Tell.Class Control.Monad.Trans.HandleWriterControl.Monad.Writer.ClasslistenpassControl.Monad.WritertellWrappedMonadWritergetWrappedMonadWriter MonadTell$fMonadTellwStateT$fMonadTellwStateT0$fMonadTellwSelectT$fMonadTellwReaderT$fMonadTellwMaybeT$fMonadTellwIdentityT$fMonadTellwContT$fMonadTellwAccumT$fMonadTellwRWST$fMonadTellwWriterT$fMonadTellwWrappedMonadWriter$fMonadTransWrappedMonadWriter$fMonadTellwRWST0$fMonadTellwRWST1$fMonadTellwWriterT0$fMonadTellwWriterT1$fFunctorWrappedMonadWriter$fApplicativeWrappedMonadWriter$fMonadWrappedMonadWriter HandleWriterTunHandleWriterTEnvrunHandleWriterT$fMonadTellwHandleWriterT$fMonadReaderrHandleWriterT$fFunctorHandleWriterT$fApplicativeHandleWriterT$fMonadHandleWriterT$fMonadIOHandleWriterT$fMonadTransHandleWriterT$fMonadStatesHandleWriterT$fMonadErroreHandleWriterT$fMonadContHandleWriterT mtl-2.2.2 MonadWriterbaseGHC.IO.Handle.TypesHandle