haskell Abstract class to manipulate sequence of bytes The use case of this class is abstracting manipulation of types that are just wrapping a bytestring with stronger and more meaniful name. Usual definition is of the form: newtype MyType = MyType ByteString