It is possible (in theory) to have mixed parameters (one array and one scalar). But say `param_dim` =2, then each parameter is a list, the first parameter is a list of 2 arrays and the second a list of 2 scalars. So checking the first one is sufficient.
If the user makes a mistake and gives 2 arrays but 1 scalar, I think this will be caught by the `Parameter` class but I have to double check.