Currently it's a 2D array, because we cast DM directly to np.array, without flattening after. In CasADi, it's a column-vector, which is why it becomes a 2D array. NumPy does not make this distinction ...