Now uses assumed-shape arrays for arrays as arguments