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 of those types are of the form:
newtype MyType = MyType ByteString

Homepage:
http://hackage.haskell.org/package/byteable
