Does anyone have some hard numbers on the expected performance uplift when using GADTs? Couldn't see any mentioned in the article.
Hard to say exactly how much performance one would get, as that depends on access patterns.
Of course it depends on your use case, in some cases a compact byte array performs better anyway, for instance because now you're able to fit it in your CPU cache.
Are you saying each byte takes up a word? That is the case in the `char array` in OCaml, but not Java's `byte[]`. AFAIK The size of a byte array is rounded up to words. Byte arrays of length 1-8 all have the same size in a 64-bit machine, then length 7-16 take up one more word.