ú΃    None+0HM A   decoding error, as provided by  .)Number of bytes consumed before the error Error message!Convert a value to a byte stream.AKeep in mind that a single encode value might be split into many . chunks, that is, the lenght of the obtained  might be greater than 1.Hint: You can easily turn this  into a  that encodes ) instances as they flow downstream using:    :: ( m,  a) =>  a  m r Like , except this uses an explicit .!Parse a value from a byte stream. Improper lens? that turns a stream of bytes into a stream of decoded values.By  improper lens0 we mean that in practice you can't expect the Monad Morphism Laws to be true when using  with .   ( r) /=  r   (m >>= f) /=   m >>=   . f Like Q, but also returns the length of input consumed in order to to decode the value. Like _, except this tags each decoded value with the length of input consumed in order to decode it. Like #, except this requires an explicit   instead of any  instance. Like #, except this requires an explicit   instead of any  instance.            !"#$%&"#'()*+,-./01pipes-binary-0.4.0.3 Pipes.BinaryB ByteString Control.Lenszoom DecodingError deConsumed deMessageencode encodePutdecodedecodeddecodeLdecodedL decodeGet decodeGetLbinary-0.7.1.0Data.Binary.Get.InternalGetData.Binary.GetFailbytestring-0.10.4.0Data.ByteString.Internal pipes-4.1.3 Pipes.CoreProducer Producer'PipeData.Binary.ClassBinaryPipesforcatbaseGHC.BaseMonadData.Binary.PutPutreturnLens'$fErrorDecodingError$fExceptionDecodingErrorgetput ByteOffsetpipes-parse-3.0.2 Pipes.ParseParser