DifferentialEquations hangs when partitioning state vector

I have enjoyed using ArrayPartitions to segregate information such as differential vs algebraic states when running DifferentialEquations. It worked great for what I used: one partition.
Now I am trying to segregate the state vector by the state vectors of subcomponents in the simulation. Unfortunately, when each state vector is about 8, and there are 10 components, DifferentialEquations seems to hang. I don’t have the same problem if the vectors are concatenated as one single vector (but I lose the partitioning):

using DifferentialEquations
using RecursiveArrayTools

X = [ fill(0.0, 8) for i in 1:20 ];
x = ArrayPartition(X...);

function xdot!(dx, x, p, time)
       dx .= 0.0
end

f = ODEFunction(xdot!)
prob = ODEProblem(f, x, (0.0,  1.0))
sol = DifferentialEquations.solve(prob, saveat = [1.0])

Obviously I can concatenate, but it makes the code much less attractive. Any idea what’s going on?
One might suggest I use MTK, but I’m stuck with that as well: Maximum of matrix vector product for "large" matrices - #2 by ChrisRackauckas

Thanks for the help!

This example does complete on my machine, it just takes a long time to compile the first time (~60 sec). After that, it runs in ~300us.

It does on my mac with Julia 1.7.2, but it takes ~10min to compile… If I update to Julia 1.8, it takes 5mins, which is still too much… I have checked on a windows machine and it takes ~60s.
Now this is for a toy problem… When I actually work with larger arrays, algebraic states etc. it will get even worse…

Large tuples are a bad idea for compile times. Don’t use very large tuples. Hence, ArrayPartition is the wrong structure for this.