better detection of float vs 1D array