Crear una matriz de matrices en numpy con diferentes dimensiones

Estoy tratando de crear una matriz de matrices numpy, cada una con una dimensión diferente. Hasta ahora, parece estar bien. Por ejemplo, si ejecuto:

np.array([np.zeros((10,3)), np.zeros((11,8))])

el resultado es:

array([ array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]]),
       array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])], dtype=object)

La dimensión de las dos matrices es completamente diferente y la matriz se genera sin ningún problema. Sin embargo, si la primera dimensión de las dos matrices es la misma, ya no funciona:

np.array([np.zeros((10,3)), np.zeros((10,8))])
Traceback (most recent call last):

  File "<ipython-input-123-97301e1424ae>", line 1, in <module>
    a=np.array([np.zeros((10,3)), np.zeros((10,8))])

ValueError: could not broadcast input array from shape (10,3) into shape (10)

Que esta pasando?

¡Gracias!