We currently use dynamic views while extracting rows and columns of a 2D tensor
Tensor<double, 3, 4> A;
A(0, all) --> TensorViewExpr<A>
this make it unnecessarily impossible to construct tensors of the right shape at compile time when we already know this info which is Tensor<double,4> in this case.