rows*cols is a power of two.Matrix:state with a series of kronecker products of 2x2 Matrices T times, ensuring that the resulting output is definitely of shape [2**T, 1]. That looks like this:filled_matrix into self.state. filled_matrix, even though it is guaranteed to be a Matrix[2**T, 1]. However, if I turn from compiler-time parameters to dynamic parameters, I am not sure how to create the ComplexSIMD as a struct property. ComplexSIMD while also achieving this behaviour? Or will I need to use UnsafePointer instead.