After some off-list discussion with Pierre and Rasmus, I think we
should move forward with the approach of JITting the whole array at
once (similar to how it's done now, except at runtime). It seems to be
the least of all evils and allows the flexibility of choosing encoding
at runtime. What code changes need to be done for this?