I think that's a bug. We don't have to use `take` at all because the `ByteBuffer` should have proper limits set and `ByteString.apply` should just copy the right amount of bytes. I'll fix that.