I know `FromStream` works like this to avoid the implicit assumption that all arrays in the stream are the same size, but I think it looks a little weird. Ideally, `FromStream` and `ToStream` should form an isomorphism. Is there perhaps a better way we could manage this?

If we do leave it like this, we should probably leave a note somewhere explaining why as well.