also: ByteString is limited to 2GB, as are arrays