```
function ⊗(A::T,B::T) where T<:Array
[i*B for i in A]
end
a = ⊗(rand(2,2),rand(3,3))
typeof(a)
Matrix{Matrix{Float64}} (alias for Array{Array{Float64, 2}, 2})
```

I know:

```
a = kron(rand(2,2),rand(3,3))
```

But I’m trying to get something like:

```
reduce(hcat,[collect(1:3) for i in 1:3)
```

which works on a Vector{Vector{Any}} but not on Matrix{Matrix{Any}}.

I tried to play with function cat() and I failed.

I tried cartesian index and I failed.

I mean, it is how our minds treat a matrix right? we can ‘blockrize’ or ‘flatten’ a matrix with very little effort. Can I do that in Julia?